美文网首页
self 和 super

self 和 super

作者: gpylove | 来源:发表于2018-11-02 17:08 被阅读5次

        self是类的隐藏的参数变量,指向当前调用方法的对象,另一个隐藏参数是_cmd,代表当前类方法的selector。那 super 呢?很多人会想当然的认为“ super 和 self 类似,应该是指向父类的指针吧!”。这是很普遍的一个误区。其实 super 是一个 Magic Keyword, 它本质是一个编译器标示符,和 self 是指向的同一个消息接受者!他们两个的不同点在于:super 会告诉编译器,调用 class 这个方法时,要去父类的方法,而不是本类里的。

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

相关文章

  • Lesson 0-2 Objective-C basic

    11.self 和 super self代表一个指针,super是一个编译器指示符,self 和 super 都指...

  • self和super的区别

    self和super的区别 self调用自己方法,super调用父类方法 self是类,super是预编译指令 [...

  • class

    1.[self class]和 [super class] self和super的区别: self是类的一个隐藏参...

  • Objective-C self与super的区别

    Objective-C self与super的区别 [self class] 和 [super class] 在当...

  • 单继承

    父类.方法(self,*args)和super(父类名,self).方法 当super(父类名,self).方法 ...

  • self、 superclass 、 super的区别

    self、 superclass 、 super的区别 self、 superclass 、 super self...

  • super

    示例 self [self class]、[self superclass]调用流程 super [super c...

  • self 和 Super

    刨根问底Objective-C Runtime(1)- Self & Super 下面的代码输出什么? @impl...

  • self和super

    本人主要介绍一下在OC中最常用的两个关键字self和super,它们常用在对象初始化方法里。不知道大家有没有想过研...

  • Super 和 Self

    我们都知道:self是类的隐藏参数,指向当前调用方法的这个类的实例。那 super 呢?很多人会想当然的认为“su...

网友评论

      本文标题:self 和 super

      本文链接:https://www.haomeiwen.com/subject/nxycxqtx.html