美文网首页
iOS  self  super

iOS  self  super

作者: 有缘人2830 | 来源:发表于2019-03-06 16:14 被阅读0次

@implementation Son : Father

- (id)init

{

    self = [super init];

    if (self)

    {

        NSLog(@"%@", NSStringFromClass([self class]));

        NSLog(@"%@", NSStringFromClass([super class]));

    }

    return self;

}

@end

打印结果:

Son

Son

当 发送 class 消息 时不管是 self  还是 super 其消息主体依然是  self ,也就是说 self 和 super 指向的 是同一个对象。只是 查找方法的位置 区别,一个从本类,一个从本类的超类。

一般情况下  class 方法 只有在 根类 NSObject 中定义,极少情况有子类重写 class 方法,

所以  [slef  class] 和 [super class] 都是在 根类中 找方法实现, 消息接收主体 又都是 a

如果重写可能会不一样。

自然都打印出  Son

相关文章

网友评论

      本文标题:iOS  self  super

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