码迷,mamicode.com
首页 > 其他好文 > 详细

OC 实例方法和类方法区别

时间:2015-12-05 14:15:46      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

     Objective-C里面既有实例方法也类方法。类方法(Class Method) 有时被称为工厂方法(Factory Method)或者方便方法(Convenience method)。工厂方法的称谓明显和一般意义上的工厂方法不同,从本质上来说,类方法可以独立于对象而执行,所以在其他的语言里面类方法有的时候被称为静态方法。
注意点一:类方法
1,类方法可以调用类方法。
2,类方法不可以调用实例方法,但是类方法可以通过创建对象来访问实例方法。
3,类方法不可以使用实例变量。类方法可以使用self,因为self不是实例变量。
4,类方法作为消息,可以被发送到类或者对象里面去(实际上,就是可以通过类或者对象调用类方法的意思)。
 
 
注意点二:类方法和实例方法  
1:实例方法是— 类开头是+ 实例方法是用实例对象访问,类方法的对象是类而不是实例,通常创建对象或者工具类。
   在实例方法里,根据继承原理发送消息给self和super其实都是发送给self
  在类方法里面self是其他的类的类方法,在类方法中给self发送消息只能发类方法self是类super也是
  什么时候用类方法,要创建一个实例时候获取一个共享实例,或者获取关于类的一些共有信息

2:类方法(class method)和实例方法(instance method)。类方法被限定在类范围内,不能被类的实例调用(即脱离实例运行)。alloc就是一种类方法。实例方法    限定在对象实例的范围内(即实例化之前不能运行)。init就是一种实例方法,被alloc方法返回的对象实例调用。
instance method  以减号 "-" 开头 
class method  以加号 “+” 开头,相当于static方法

OC 实例方法和类方法区别

标签:

原文地址:http://www.cnblogs.com/oc-bowen/p/5021409.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!