A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wkop 中级黑马   /  2015-12-12 11:05  /  1269 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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的作用域。

4 个回复

倒序浏览
不错,很好
回复 使用道具 举报
非常好,学习到了!
回复 使用道具 举报
不错  谢谢   分享
回复 使用道具 举报
总结的很好,尤其最好一句,给个赞
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马