首页 > 学院 > 开发设计 > 正文

Objective-C中的self和super

2019-11-14 19:29:25
字体:
来源:转载
供稿:网友

1.有过面向对象的人知道,self相当于this,super相当于调用父类的方法

2.self是类的隐藏的参数,指向当前调用方法的类,另一个隐藏参数是_cmd,代表当前类方法的selector。

super并不是隐藏的参数,它只是一个”编译器指示符”,它和self指向的是相同的消息接受者,也就是说,

    [self class]=[super class]。

不同的是,super告诉编译器,当调用某个方法时,要去调用父类的方法,而不是本类的。

总之,当使用self调用方法时,会从当前类的方法列表中开始找,如果没有,就从父类中再找;当使用super时,则从父类的方法列表中开始找,然后调用这个方法。

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表