Next: Les objets Class Up: Classes Previous: Modèles (super classes abstraites)

Types & Classes

Une définition de classe est la spécification d'une espèce d'objet. Pratiquement, la classe définie un type de donné, une structure C. Le nom d'une classe peut être utilisé dans le code pour spécifier le type d'un objet en lieu et place de id. Exemple :
Matrix *maMatrix;

Ceci est du typage statique, le compilateur connaît le type de l'objet, en opposition au typage dynamique avec le type id.

Le type id est un pointeur sur un objet. De même les objets sont statiquement typés comme des pointeurs vers une classe (vers une structure définie par la classe). Un objet est toujours typé par un pointeur, le typage statique explicite le pointeur, le typage par id le cache.

Un objet peut être typé statiquement avec sa propre classe ou toute classe de sa généalogie. Comme un objet Matrix est aussi une View il peut être statiquement typé en View:

View *maMatrix;

L'objet maMatrix est plus qu'une View, il a les variables d'instance d'une View et d'un Control mais c'est néanmoins une View. Pour la vérification de type le compilateur considère que maMatrix est une View mais à l'exécution maMatrix sera manipulé comme une Matrix.

Voir "Options Statiques," pour plus d'information sur le typage statique et ces avantages.



Dominique REVUZ
Vendredi 21 février 1997 17:27:12
Une Bug Un mail Merci