黑马程序员----实例方法跟类方法的区别

来源:互联网 发布:怎么在手机淘宝交电费 编辑:程序博客网 时间:2024/04/30 08:10

------- IOS开发、IOS培训、期待与您交流! -------


类方法和实例方法  

实例方法是是以 - 开头,类方法是以 + 开头; 


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


是对类本身执行某些操作的方法例如创建类的实例


在实例方法里,根据继承原理发送消息给selfsuper其实都是发送给self在类方法里面self是其他的类的类方法,在类方法中给self发送消息只能发类方法self是类super也是什么时候用类方法,要创建一个实例时候获取一个共享实例,或者获取关于类的一些共有信息


[[[ObjectClass alloc] init] select];


就是在类方法里创建一个实例,然后代用实例方法就可以了


Java中的构造方法与实例方法,有什么区别?

行为差异:构造方法,创建对象后自动调用构造方法,实例方法必须对象.实例方法进行调用。

功能差异:构造方法多用于初始化对象状态,对属性赋初值,实例方法用于实现某个功能



它只有类方法和实例方法,加号表示类方法,类方法可以直接调用,而不用创建这个类的实例;减号表示实例方法,需要创建这个类的实例对象才可以调用。 


类方法的调用格式为 [类名类方法],成员方法调用格式为 [实例名实例方法],这种模式在ObjC中被称为消息机制,[对象消息]即给对象发送了一个消息,产生的效果就是该对象调用了该类中定义的对应的实例方法; 



对象方法

1> -开头

2>只能由对象来调用

3>对象方法中能访问当前对象的成员变量(实例变量)



类方法

1>以 + 开头

2>只能由类(名)来调用

3>类方法中不能访问成员变量,不可以调用实例方法,但是类方法可以通过创建对象来访问实例方法,但       

    可以使用self,因为self不是实例变量。

4>不依赖于对象,执行效率高,所以能用类方法,尽量用类方法

5>使用场合:当方法内部不需要使用到成员变量时,就可以改为类方法

6>类方法可以调用类方法。

7>类方法作为消息,可以通过类或者对象调用类方法


可以允许类方法和对象方法同名


大家需要记住下面的规则:

1,实例方法里面的self,是对象的首地址。

2,类方法里面的self,是Class.

尽管在同一个类里面的使用self,但是self却有着不同的解读。在类方法里面的self,可以翻译成class self;在实例方法里面的self,应该被翻译成为object self。在类方法里面的self和实例方法里面的self有着本质上的不同,尽管他们的名字都叫self


















0 0
原创粉丝点击