Object-c中的class

  • class:获取当前方法调用者的类
  • superClass 获取当前方法调用者的父类
  • super:仅仅是一个编译指示器,就是给编译器看的,不是一个指针
  • super本质:只要编译器看到super这个标志,就会让当前对象去调用父类方法,本质还是当前对象在调用
@interface Person : NSObject
-(void)logClass;
@end

@implementation Person
-(void)logClass{
    /*
     class:获取当前方法调用者的类
     superClass 获取当前方法调用者的父类
     super:仅仅是一个编译指示器,就是给编译器看的,不是一个指针
     super本质:只要编译器看到super这个标志,就会让当前对象去调用父类方法,本质还是当前对象在调用
     */
    NSLog(@"%@ --> %@ --> %@ --> %@" , [self class] , [self superclass] , [super class] , [super superclass]);
}
@end


@interface SubPerson : Person
@end

@implementation SubPerson
@end

- (void)viewDidLoad {
    [super viewDidLoad];
    Person *p = [Person new];
    [p logClass];//结果:Person --> NSObject --> Person --> NSObject
    
    SubPerson *sp = [SubPerson new];
    [sp logClass];//结果:SubPerson --> Person --> SubPerson --> Person
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 5,820评论 0 9
  • 我们常常会听说 Objective-C 是一门动态语言,那么这个「动态」表现在哪呢?我想最主要的表现就是 Obje...
    Ethan_Struggle阅读 6,572评论 0 7
  • 一对夫妻不仅在生活发生变化、出现重大挫折时需要伴侣的情感支持与反馈,在生活琐事上也需要,比如工作上受了委屈,为面试...
    运安阁主阅读 6,502评论 0 0
  • 《青茫》里边高翔说:越是沉重,越要飞翔时,那一刻,我的心里漫过一场海啸。 诚然感情里的伤害不像热伤风吃过药...
    柠檬味的果粒橙阅读 2,958评论 0 4