Je voudrais savoir quelle est la @interface dans l'objectif C? est-ce juste là où le programmeur veut déclarer les variables, le nom de classe ou le nom de méthodes ...? Je ne suis pas sûr que ce soit comme interface en Java. Et à propos du protocole @ dans l'objectif C également. Il semble que l'interface en Java plus. Quelqu'un pourrait-il me donner des explications détaillées, s'il vous plaît? Je l'apprécie vraiment.
Réponses
Trop de publicités?Une interface est l'endroit où vous définissez les attributs et les opérations de la classe. Vous devez également définir la mise en œuvre.
Un protocole est comme une interface pour Java.
par exemple
@protocol Printing
-(void) print;
@end
peut être mis en œuvre
en déclarant (ce qui prête à confusion dans l'interface)
@interface Fraction: NSObject <Printing, NSCopying> {
//etc..
La confusion pour les développeurs Java est que les accolades {}
ne sont pas la fin de l'interface, par exemple
@interface Forwarder : Object
{
id recipient;
} //This is not the end of the interface - just the operations
- (id) recipient;
- (id) setRecipient:(id) _recipient;
//these are attributes.
@end
//This is the end of the interface
L' @interface
en Objective-C n'a rien à voir avec les interfaces de Java. Il déclare simplement qu'une interface publique de la classe, son API publique. (Et variables membres, comme vous l'avez déjà observé.) Java interfaces de style sont appelés protocoles en Objective-C et sont déclarées à l'aide de l' @protocol
directive. Vous devriez lire L'Objective-C, Langage de Programmation par Apple, c'est un bon livre court et très accessible.