iOS学习笔记-iOS中的类方法和实例方法

来源:互联网 发布:ubuntu u盘系统 编辑:程序博客网 时间:2024/04/29 09:20

类方法和实例方法  

@interface Controller : NSObject
{

@private: NSString *something;
}
+ (void)thisIsAStaticMethod;//类方法
- (void)thisIsAnInstanceMethod;//实例方法
@end


实例方法开头是-,类方法开头是+
实例方法是用实例对象访问,类方法的对象是类而不是实例,通常创建对象或者工具类。
在实例方法里,根据继承原理发送消息给self和super其实都是发送给self,
在类方法里面self是其他的类的类方法,在类方法中给self发送消息只能发类方法self是类super也是

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


注意

一、类方法
1,类方法可以调用类方法。
2,类方法不可以调用实例方法,但是类方法可以通过创建对象来访问实例方法。
3,类方法不可以使用实例变量。类方法可以使用self,因为self不是实例变量。
4,类方法作为消息,可以被发送到类或者对象里面去(实际上,就是可以通过类或者对象调用类方法的意思)。
二:self的规则
大家需要记住下面的规则:
1,实例方法里面的self,是对象的首地址。
2,类方法里面的self,是Class.
尽管在同一个类里面的使用self,但是self却有着不同的解读。在类方法里面的self,可以翻译成class self;在实例方法里面的self,应该被翻译成为object self。在类方法里面的self和实例方法里面的self有着本质上的不同,尽管他们的名字都叫self。

0 0