Video: Objective C и разработка под Mac OS X, Лекция 1 2025
Del av Mac Application Development for Dummies Cheat Sheet
Objective-C gir objektorienterte funksjoner for Macintosh applikasjonsutvikling, som arv og polymorfisme. Språket er basert på C programmeringsspråket; Derfor kan du bruke C programmeringskunnskap til å kode innenfor Objective-C. Objective-C ++ er en bromekanisme som tillater Objective-C-kildemoduler å jobbe med Objective-C ++-klasser, som kan kompilere og lenke til C ++-kodebiblioteker.
Følgende enkle eksempel på en kvadratmatrise viser innholdet i en C ++ header-fil for en Matrix-klasse. Matrix-klassen leveres med standardkonstruktøren og destruktoren for en C ++-klasse, og metodene er det du forventer for et grunnleggende firkantmatrisobjekt:
klasse Matrix {public: Matrix (int inSize); virtuell ~ Matrix (); int getSize (void); int getDeterminant (void); void setElement (int inRow, int inCol, int inValue); int getElement (int inRow, int inCol); Matrix operator + (const Matrix & inAddend); privat: int m_size; int [] [] m_elements;};
For å bruke Objective-C ++ må objektiv-C ++ klassemodulene bruke filtypen. mm. Dette forteller Xcodes kompilator at klassen skal kompileres ved hjelp av Objective-C ++, som vil gjøre at klassen din kan bruke C ++-språkord. Ved hjelp av Objective-C + + kan appen lage et Matrix-objekt for å utføre grunnleggende operasjoner, for eksempel å legge til to Matrix-objekter sammen. Dette forutsetter at Objective-C ++-kildemodulen har #imported C ++ Matrix. h-fil:
- (void) addTwoMatrices {Matrix matrixOne (3); // 3x3 matrix Matrix matrixTwo (3); // annen int radIndex = 0; int colIndex = 0; for (rowIndex = 0; rowIndex <3; ++ rowIndex) {for (colIndex = 0; colIndex <3; ++ colIndex) {// angi matrisens elementer til deres verdier matrixOne. setElement (rowIndex, colIndex, XXX); // sett matrise to elementer til noen andre verdier matrixTwo. setElement (rowIndex, colIndex, YYY);}} Matrix matrixSum = matrixOne + matrixTwo;
Med Objective-C ++ kan appene dine dra nytte av alle tilgjengelige tredjepartsbiblioteker som er skrevet for C ++.
