类方法和实例方法区别

1.类方法和实例方法

类方法:不需要声明一个对象(实例),就可以直接引用。通常是有返回值的(否则类方法就无意义了,因为没有对象或者相应的成员变量的值可以设置)

 类方法的特点:

1.声明和实现的时候,以(+)开头

 2.类方法属于类的本身,只能通过类名调用

 3.类方法不能直接访问成员变量

 4.类方法不能直接调用对象方法(可以间接调用)    // 间接调用:1> 把对象当做形参传入    2> 在类方法中创建一个对象

例如:+ (instancetype)personWithName:(char *)name age:(int)age;

实例方法:对象方法。(例如,学生是一个对象,学习就是一个对象方法)

 类方法的特点:          

(1)声明和实现的时候,以(-)开头

(2)对象方法隶属于对象,只能通过对象调用

(3)对象方法可以直接访问成员变量

(4)对象方法可以调用其他的对象方法以及类方法

例如:  - (void)setAge:(int)age;       - (int)age;        - (void)method;

类方法的好处:

 调用类方法的时候,不用创建对象,更节省内存,调用比较简单,效率高。

 什么时候使用类方法?        答:当不需要访问成员变量的时候

原文地址:https://www.cnblogs.com/kaola706/p/4986777.html