2 つの Objective-C クラスがあり、1 つはもう 1 つのクラスから派生しています。
@interface DerivedClass : BaseClass
{
}
以下のコード セクションは BaseClass に属します。
- (id)init {
if (self = [super init]) {
[self configure];
}
return self;
}
- (void) configure{} //this is an empty method
コード セクションは DerivedClass に属します。
-(void) configure{
NSLog(@"derived configure called");
}
さて、derivedInstance = [DerivedClass new];
呼び出しスタックを見てみるconfigure
と、派生クラスのメソッド[self configure]
がベースのinit
メソッドの行で呼び出されていることがわかります。
私は Objective-C 初心者であり、派生クラスのメソッドが基本クラスのメソッドから呼び出される方法について混乱しています。" self
" キーワードは、一部の言語の " " キーワードと同じものであると説明されていますが、this
この説明は完全に正しくないと思いますよね?