美文网首页iOS学习笔记
@property`self & super

@property`self & super

作者: Dayu大鱼 | 来源:发表于2016-04-16 10:09 被阅读41次

@property

之前每声明一个实例变量都要进行设置响应的set /get 方法;通过property来声明可以不用写了;编译器会将方法(set/get)和实例变量声明好。

@property NSString *itemName;

如果set get方法中有逻辑,需要在类的实现文件中添加自定义的set get方法

self:

1.self是什么鬼? super 又是什么鬼? [super init]???又特么啥玩意?

@implementation Son : Father
-(id)init
{  
self=[super init ] ;
if(self){
    }
return self ;
}


子类实现初始化之前调用父类的init 实现

1.self 和 super 究竟啥玩意?

1.1
动态方法中,self 表示 “对象”
静态方法中,self表示 “类”
一句话KO: self 就是当前方法的调用者
########self 是隐藏的参数变量 指向当前方法调用的对象(类是特殊的对象)

1.2

然而super只是一个编译器指示符

2.[super init] 在上面程序中又搞了哪些小动作?

其实就是当前类或者对象
例如:

@interface Father :NSObject
-(void)currentClass;
@end

@implementation Father
-(void)printCurrentClass{
NSLog(@"Father current class is %@",[self class]);
@end


//:然后再有一个类继承至Father
@interface Son : Father
  -(void)printCurrentClass;
@end
//:拥有一个相通的方法  检测两者输出的类是否相同
@implementation Son
  -(void)printSuperClass{
[super PrintCurrentClass];
}
@end

//:测试
Son*son=[Son alloc]init];
[son printCurrentClass]; //直接调用父类方法
[son printSuperClass];   //间接调用父类方法

//:当然输出的结果可想而知都是Son


运行结果 2016-04-16 10.11.10.png

相关文章

  • @property`self & super

    @property 之前每声明一个实例变量都要进行设置响应的set /get 方法;通过property来声明可以...

  • 理解 Self & Super

    下面会打印什么? 无论是[self class]还是[super class],接受消息者都是Son对象super...

  • self、 superclass 、 super的区别

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

  • super

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

  • iOS self&super

    self和super区别 self 是关键字 代表当前方法的调用者如果是类方法:代表当前类如果是对象方法:代表当前...

  • Runtime ——self&super

    下面的代码输出什么? @implementation Son : Father - (id)init { self...

  • self和super的区别

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

  • Lesson 0-2 Objective-C basic

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

  • 单继承

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

  • Objective-C self与super的区别

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

网友评论

    本文标题:@property`self & super

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