Me gustaría saber cuál es la @interface en el objetivo C? ¿Es justo donde el programador quiere declarar las variables, el nombre de la clase o los nombres de los métodos ...? No estoy seguro de si es como una interfaz en Java. Y sobre el @protocolo en el objetivo C también. Parece más la interfaz en Java. ¿Alguien podría darme una explicación detallada por favor? Realmente lo aprecio.
objective-c
Balancín
fuente
fuente

myObject.lpVtbl->x(&myObject)) sino a través de una interfaz dual, análoga a cmyObject.lpVtbl->Invoke(&myObject, "x", &argArray);. Debido a esto, los protocolos y las interfaces parecen servir para proporcionar al compilador información para generar tiempo de ejecución y verificación de tipo en tiempo de compilación. Por lo tanto, no hay un verdadero paralelo en C ++ a menos que introduzca un motor de secuencia de comandos / COM en su proyecto.probablemente bueno si echas un vistazo a esto + Pensé que era de gran ayuda entender
Del artículo:
@interfaz
C ++
Foo.h
#ifndef __FOO_H__ #define __FOO_H__ class Foo { ... };Foo.cpp
#include "Foo.h" ...C objetivo
Foo.h
@interface Foo : NSObject { ... } @endFoo.m
#import "Foo.h" @implementation Foo ... @end@protocolo
C ++
struct MyInterface { void foo() = 0; } class A : MyInterface { public: void override foo() { ... } }C objetivo
@protocol MyInterface -(void) foo; @end @interface Foo : NSObject <MyInterface> { -(void) foo {...} ... } @endfuente
@protocoldefine algunos métodos generales,@interfacedefine algunos métodos personalizados e@implementationimplementa esa interfaz.@interfaceno tiene ninguna implementación. Además, si elfoométodo es el mismo que el del protocolo, no debe repetirse en la interfaz.El
@interfaceen Objective-C no tiene nada que ver con las interfaces Java. Simplemente declara una interfaz pública de una clase, su API pública. (Y variables miembro, como ya ha observado.) Las interfaces de estilo Java se denominan protocolos en Objective-C y se declaran mediante la@protocoldirectiva. Debería leer El lenguaje de programación Objective-C de Apple, es un buen libro, breve y muy accesible.fuente