黑马程序员技术交流社区

标题: self关键字 [打印本页]

作者: wkop    时间: 2015-12-12 11:05
标题: self关键字
self用在对象方法中,谁调用当前方法,self就指代谁,例如:
-(void)eat{
    [self run];
}
在此段代码中如果是用对象p调用eat方法,那么self就指代p。
self用在类方法中,谁调用当前方法,self就指代谁,例如:
+(void)eat{
    [self run];
}
在此段代码中如果是用类Person调用eat方法,那么self就指代Person类。
self修饰变量,例如:
-(void)setAge:(int)age{
    self->age = age;
}
在此段代码中假设实例变量名和形参名同为age,如果不通过self->age = age;则无法访问实例变量也就是无法对实例变量进行赋值操作,因为局部变量age会屏蔽实例变量age的作用域。

作者: ios学者    时间: 2015-12-12 17:12
不错,很好
作者: 学习黑马精神    时间: 2015-12-12 21:01
非常好,学习到了!
作者: 1753795760    时间: 2015-12-12 23:57
不错  谢谢   分享
作者: alen2015    时间: 2015-12-13 00:15
总结的很好,尤其最好一句,给个赞




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2