美文网首页iOS开发
关于class,superClass,super的解释

关于class,superClass,super的解释

作者: 追逐_chase | 来源:发表于2017-09-07 10:04 被阅读3次
相信在APP开发中我们多数使用的self,但是在面试的时候,会经常问到class,superclass,super这些区别

解释 class,superClass,super

  • class:获取当前方法调用的类
  • superclass:获取当前调用的父类
  • super:是一个编译指示器,就是给编译器看的,不是一个指针
    • 本质:只要编译器看到super这个标志,就会让当前对象去调用父类的方法,本质还是当前对象在调用

例子

一个person类,有一个test方法

 #import <Foundation/Foundation.h>

@interface Person : NSObject

- (void)test;

 @end

persond的子类SubPerson 实现test方法

@implementation SubPerson

- (void)test {

 NSLog(@"%@--%@--%@--%@",[self class],[self superclass],[super class],[super superclass]);

// 打印结果:SubPerson  Person  SubPerson  Person
// [super class]:解释 super是指的当前对象调用这个方法   
 //当前对象就是SubPerson -> self
}
@end

相关文章

网友评论

    本文标题:关于class,superClass,super的解释

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