Next: Options Statiques Up: Protocoles Previous: Se conformer à un

Vérification de type

Les protocoles peuvent servire de type pour les objets et permettent ainsi une autre forme de vérification de types par le compilateur.

Dans une déclaration de type les protocoles sont indiqué après le nom de type entre chevrons :

- (id <Formatting>)formattingService; id <ReferenceCounting, AutoFreeing> anObject;

Come le typage statique permet de tester la concordance des types avec la hiérarchie des classes cette syntaxe permet de vérifier qu'un type se conforme à un protocole.

Par exemple, si Formatter est une super classe abstraite, la déclaration

Formatter *anObject;

regroupe tous les objets qui héritent de Formatter dans un même type et le compilateur vérifie sur les affectation la concordance du type.

De même la déclaration,

id <Formatting> anObject;

regroupe tous les objets qui se conforment au protocole Formatting en un type, indépendamment de leur possition dans la hiérarchie de classe. Le compilateur vérifie par rapport à ce type toutes les affectations.

Dans les deux cas le type regroupe des objets par leurs similarités soit par un ancêtre commun ou par une similarité de service.



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