OC的实例方法和类方法的区别

-对象方法 即OO的基本精神之一 —— 封装/信息隐藏,这个需要你对OO有理解

+类方法 一般用作命名空间,用以组织一组功能函数;又或用作类的工厂函数,用以产生类的对象;不管哪种,都需要有大型项目的经验,才知道如何组织程序的复杂性及使用设计模式

类方法和实例方法

实例方法是— , 类开头是+
实例方法是用实例对象访问,类方法的对象是类而不是实例,通常创建对象或者工具类。

在实例方法里,根据继承原理发送消息给self和super其实都是发送给self

在类方法里面self是其他的类的类方法,在类方法中给self发送消息只能发类方法,self是类super也是

什么时候用类方法:要创建一个实例时候获取一个共享实例,或者获取关于类的一些共有信息

1、类方法是属于整个类,而不属于某个对象。
2、类方法只能访问类成员变量,不能访问实例变量,而实例方法可以访问类成员变量和实例变量。
3、类方法的调用可以通过类名.类方法和对象.类方法,而实例方法只能通过对象.实例方法访问。
4、类方法只能访问类方法,而实例方法可以访问类方法和实例方法。
5、类方法不能被覆盖,实例方法可以被覆盖。