self和super关键字

Objective-C没有this关键字,而是用self替代,通常情况下,将self作为类对象,将super作为父类对象即可。OC的函数调用依靠的是消息传递,每个函数都会接收一个隐藏参数self,self代表的仅仅是当前对象,和super都属于消息的目标,所以self在允许时是可以修改的。

Objective-C虽然不支持抽象类,但你可以定义一个方法由子类来具体实现,代码如下。

- (void)subclassOverrideMethod{
   [self subclassResponsibility:_cmd];
}

子类调用父类方法,直接使用super关键字即可,代码如下:

- (void)callSuperClassMethod{
    [super callSuperClassMethod:arglist];
}

猜你喜欢

转载自blog.csdn.net/qq_42347755/article/details/80642958