/ / Clase de diferencia y métodos de instancia - objetivo-c, métodos, convenciones

Clase de diferencia e métodos de instancia: objetivo-c, métodos, convenciones

¿Cuál es la diferencia entre los métodos de clase y los métodos de instancia. ¿Por qué los necesitamos por separado? ¿Alguien por favor puede explicar?

Métodos de clase e instancia

• Las instancias responden a los métodos de instancia.

 - (id)init;
- (float)height;
- (void)walk;

• Las clases responden a los métodos de clase.

 + (id)alloc;
+ (id)person;
+ (Person *)sharedPerson;

Taimur

Respuestas

6 para la respuesta № 1

Un método de instancia solo está disponible en una instancia de la clase, mientras que un método de clase no necesita una instancia, pero está disponible en la clase.

Los métodos de clase están denotados por + mientras que los métodos de instancia se denotan por una - antes de su tipo de retorno.

Echemos NSObject por ejemplo. NSObject tiene un método de clase llamado + (id)alloc. El método de asignación se utiliza para asignar una instancia de la clase. Obviamente, la asignación debe ser un método de clase porque si fuera un método de instancia, ¿de dónde obtendría la instancia "raíz"?

Por otra parte - (id)init es un método de instancia porque inicializa el estado de una instancia.


5 para la respuesta № 2

Un ejemplo:

Human -> Class You -> Instance

Human podría extinguish, you no poder. You podría drink a Coke, Human no poder.

Instance El método solo se aplica a individuos,

Mientras Class El método se aplica a todo el grupo con las mismas características identificables.

Es la diferencia entre uno y muchos, individual y toda la sociedad.

[SomeClass alloc] Significa que nace una nueva instancia de la clase. así como tú has dado a luz,

init se aplica a un Instance, al igual que tus padres te dan un nombre, te dan de comer y te envían a la escuela, para que tengas habilidades para vivir en esta sociedad.


0 para la respuesta № 3
  1. Utilizar variables estáticas
  2. Representar con el símbolo "+"
  3. Se puede llamar directamente con la clase sin crear la instancia de una clase
  4. El método self en clase representa la clase en sí mismo, sin embargo el método self en instancia representa esa instancia particular de una clase.