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

------- 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


















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值