Vidéo: Objective-C : C avec Xcode 2024
Partie de Mac Application Development For Dummies Cheat Sheet
Objective-C fournit des fonctionnalités orientées objet pour le développement d'applications Macintosh, telles que l'héritage et le polymorphisme. Le langage est basé sur le langage de programmation C; par conséquent, vous pouvez utiliser vos connaissances en programmation C pour coder dans Objective-C. Objective-C ++ est un mécanisme de pont qui permet aux modules sources Objective-C de fonctionner avec les classes Objective-C ++, qui pourraient compiler et lier avec les bibliothèques de code C ++.
L'exemple simple suivant d'une matrice carrée montre le contenu d'un fichier d'en-tête C ++ pour une classe Matrix. La classe Matrix est fournie avec le constructeur et le destructeur standard pour une classe C ++, et les méthodes sont ce que vous attendez d'un objet de base de la matrice carrée:
class Matrix {public: Matrix (int inSize); virtuel ~ Matrix (); int getSize (void); int getDeterminant (vide); void setElement (int dansRow, int inCol, int inValue); int getElement (int inRow, int inCol); Opérateur matriciel + (const Matrix & inAddend); private: int m_size; int [] [] m_elements;};
Pour utiliser Objective-C ++, vos modules de classe Objective-C ++ doivent utiliser l'extension de fichier. mm. Ceci indique au compilateur de Xcode que la classe doit être compilée en utilisant Objective-C ++, ce qui permettra à votre classe d'utiliser des mots-clés en langage C ++. En utilisant Objective-C ++, votre application pourrait créer un objet Matrix pour effectuer des opérations de base, telles que l'ajout de deux objets Matrix ensemble. Cela suppose que le module source Objective-C ++ a #importé la matrice C ++. h fichier:
- (void) addTwoMatrices {Matrix matrixOne (3); // matrice 3x3 matrice matriceTwo (3); // un autre int rowIndex = 0; int colIndex = 0; pour (rowIndex = 0; rowIndex <3; ++ rowIndex) {pour (colIndex = 0; colIndex <3; ++ colIndex) {// définir les éléments de la matrice à leurs valeurs matrixOne. setElement (rowIndex, colIndex, XXX); // Définit les éléments de la matrice deux sur d'autres valeurs matrixTwo. setElement (rowIndex, colIndex, YYY);}} Matrix matrixSum = matriceUn + matriceTwo;
Avec Objective-C ++, vos applications peuvent tirer parti de toutes les bibliothèques tierces disponibles écrites pour C ++.