Le langage de programmation Objective-C a eu une histoire modeste. Créé par Brad Cox au début des années 1980 comme une extension de la vénérée C, pionnier une décennie plus tôt par Dennis Ritchie, le langage était basé sur un autre appelé SmallTalk-80.
Plan de cours
- Objet-classe
- Déclarer un objet
- Le rôle du pointeur isa
- La classe racine
- Une brève histoire d’Objective-C
- Concepts linguistiques
- Retour à l’essentiel: Comment fonctionnent les langages de programmation
- Leçon 1: Bonjour, monde!
- Leçon 2: Variables de base
- Leçon 3: Programmation orientée objet
- Leçon 4: if () instructions et booléens
- Extension ‘Bonjour, monde!’
- Mots-clés réservés
- Séquences d’échappement et spécificateurs de format
- Opérations d’entiers
- Opérations à virgule flottante
- ASCII, booléens et caractères
- Différence entre id et NSObject
Profitez de ce manuel de formation en PDF pour comprendre mieux le Objective-C et enrichir votre connaissance.
Commencez à télécharger ce cours adapté pour vous et à apprendre Objective-C.
18 CHAPITRE 1 Les bases d’Objective-C Différence entre id et NSObject id objetDeclareAvecId; // cas 1 NSObject *objetDeclareAvecNSObject; // cas 2 Étant donné que id est un pointeur vers un objet et que toutes les classes en Objective-C héritent de NSObject , il est facile d’arriver à des conclusions trop hâtives. Nous allons donc dissiper toute confu-sion et pro ter de cette opportunité pour faire un point intéressant et récapituler les cinq sections précédentes. Prenons donc les deux cas précédents : • Le cas 1 est le cas le plus courant. Nous avons vu précédemment que nous déclarons ici simple-ment un objet sans préciser son type . Le compi-lateur ne sait pas à quel type d’objet il est confronté. De plus, comme le typage dynamique le permet, il autorise l’envoi de n’importe quel message sans essayer d’appliquer la moindre contrainte. Les erreurs seront découvertes lors de l’exécution par l’environnement d’exécution. • Dans le cas 2, nous déclarons un pointeur vers un objet de type NSObject . Il y a tout d’abord une petite différence syntaxique : nous utilisons l’étoile ( *) qui n’est pas nécessaire avec id. De plus, ici, l’objet est nécessairement de type NSObject . Il est peut-être intéressant de rappeler ici que tous les objets n’héritent pas nécessaire-ment de NSObject (voir la note “Pour aller plus Book_ObjectifC.indb 18 Book_ObjectifC.indb 18 17/12/09 20:13:5917/12/09 20:13:59251 2010 Pearson Education France 226 Objective-C 2.0 226 Pejvan Beigui