スーパークラス SuperClassYeh とサブクラス SubClassYeh があります。SuperClassYehにメソッドinheritTest
があり、SubClassYeh でオーバーライドinheritTest
します。testSuperAndSelf
SubClassYehのメソッドを呼び出して、プログラムの実行を開始します。このメソッドはfromYEH
、SuperClassYeh の別のメソッドを呼び出します。では、 SuperClassYehfromYEH
を呼び出したいと思います。inheritTest
それ、どうやったら出来るの?を使用すると、 SuperClassYeh ではなく、SubClassYeh で[self inheritTest]
呼び出しが行われます。
全体の実行を開始するためのコード フラグメントを次に示します。inheritTest
SubClassYeh *testing = [[SubClassYeh alloc] init];
[testing testSuperAndSelf];
SuperClassYeh のコード フラグメントは次のとおりです。
- (void) fromYEH
{
[self inheritTest]; //Calls the inheritTest in SubClassYeh, not SuperClassYeh
}
- (void) inheritTest
{
NSLog(@"Testing Indicator. Inside SuperClassYEH inheritTest");
}
SubClassYeh のコード フラグメントは次のとおりです。
- (void) inheritTest
{
NSLog(@"Testing Indicator. Inside SubClassYeh inheritTest");
}
- (void) testSuperAndSelf
{
[super fromYEH];
}