Objective-C - self关键字和super关键字
关键字 Objective self Super
2023-09-27 14:29:08 时间
"Objective-C - self关键字和super关键字
1> self关键字可以用在对象方法和类方法中
self是一个指针:
1, 在对象方法中,self指向当前对象.
2, 在类方法中,self指向当前类
2> self解决的问题:
1, 访问当前对象的属性.
2, 在对象方法中调用当前对象的另外一个对象方法
3> 必须使用self的情况:
1, 如果方法中存在和属性同名的局部变量,这个时候直接写这个变量名访问的是这个局部变量,如果要访问属性就必须使用self.
2, 在对象方法中调用当前对象的其他方法,必须使用self否则无法实现.
故而:属性的名字以下划线开头,局部变量的名字不要以下划线开头,避免局部变量的名字和属性重名.
4> super关键字可以使用在对象方法中和类方法中.
1, 在对象方法中
要在子类的对象方法中调用从父类继承过来的对象方法,可以使用self来调用,因为父类有的子类都有.
如果我们想要在子类的对象方法中调用从父类继承过来的对象方法也可以使用super.在这个时候self和super的效果是一样的.但是不可以使用super调用子类独有的方法.
使用规范:如果调用的对象方法是自父类继承而来建议使用super,一看便知该对象方法是继承自父类的,调用自己独有的方法是使用self,这样的话可读性会更高一些.
2, 在类方法中使用super
类方法可以被继承,这个类方法通过子类可以调用,通过父类也可以调用.父类名,子类名,self,super都可以调用类方法.
super不可以访问对象的属性(self可以访问当前对象的属性)