黑马程序员技术交流社区
标题: OC基础类方法笔记 [打印本页]
作者: muyan091115 时间: 2016-5-25 22:42
标题: OC基础类方法笔记
1,OC中的方法分为两种
1),对象方法/实例方法
我们之前学习的方法,都是对象方法
如果要调用,必须创建对象用对象名访问
2),类方法
类方法的调用不依赖于对象 如果要调用类方法
不需要创建对象 直接使用类名来调用
2,声明
1),对象方法的声明
对象方法声明使用 - 号
- (void)sayHi;
2),类方法的声明:
类方法声明使用 + 号
有声明有实现 位置都是一样的
3,调用
1),对象方法:先创建对象,再通过对象名来调用
2),类方法:不需要创建对象,直接使用类名来调用
而不是直接使用类名来调用
[类名 类方法];
4,分析类方法和对象方法的调用过程
类方法的优点
a,节省空间:因为调用类方法不需要创建对象
b,提高效率:因为调用类方法不需要拐弯抹角,直接找到类,执行类方法
5,在类方法中不能直接访问属性
1),属性是在对象创建的时候,跟随着对象一起创建在对象之中
2),类在第一次访问的时候,只是把代码放进代码段,并没有创建属性
因为属性只有在对象创建的时候,才会创建在对象之中,而类方法在执行的时候,
有可能还没有对象,所以不能在类方法中直接访问属性
虽然不能直接访问属性,但是可以在类方法中创建一个对象,访问这个对象的属性
6,在类方法中也不能通过self直接调用当前类的其他对象方法,因为对象方法只能通过对象来调
需要调用对象方法的时候,创建对象,通过对象来调用对象方法。
7,在对象方法中可以直接使用类名调用类方法 不能使用self
也可以直接使用其他对象方法 一般用self来调用
8,什么时候我们可以将方法定义为类方法呢
如果方法中不需要访问属性和调用其他对象方法,就设置成类方法
这样就会节约空间,提高效率
9,关于类方法的规范,
1),如果我们写一个类,那么就要求为这个类提供一个和类同名的类方法
这个方法创建一个最纯洁的对象返回(属性都是默认值)
因为苹果和高手写的类都遵守这个规范。
2),如果你想要得到创建的对象的属性的值有调用者指定 那么就让这个方法带参数
类名WithXXX : 。。。。。。
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |