Le fichier d'interface doit être importé (#include,#import) dans tous fichiers qui utilise la classe. Tout module qui crée des instances de la classe, envoie des messages à la classe, ou mentionne une variable d'instance de la classe. L'interface est en général incluse par la directive #impor:
#import "Matrix.h"
Cette directive est équivalent à #include, sauf quelle s'assure qu'un même fichier n'est jamais inclut plus d'une fois. C'est pourquoi elle est utilisée de préférence à #include. Le gcc de fillmore préfère que l'on utilise #include et que l'on place dans le fichier une séquence de directives comme ceci:
#ifndef _nomfichier_
#define _nomfichier_
/* contenu du fichier */
#endif
Mais vous pouver utiliser #import et éliminer les warning avec -Wno-import.
Comme une classe est construite à partir d'une super-classe il faut importer l'interface de la super classe avant d'écrire l'interface:
#import "SaSuperClasse.h"
@interface NomClasse : SaSuperClasse
{
d'{e}clarations des variables d'instance
}
prototypes des m'ethodes
@end
Cette convention implique que toute interface inclut automatiquement les interfaces de sa généalogie. Quand un module d'implémentation inclut une interface, il inclut automatiquement toutes les interfaces de la généalogie de la classe dont il vient d'importée l'interface.