私はiPhone用のアプリケーションを作成し始めたJavaプログラマーです。私は問題でつまずいた。 (Javaで)次のコードをSupose:Objective-Cでのメソッドのオーバーライド
クラス1(建物)
public abstract class Building
{
public void Update()
{
specialAction();
}
public abstract void specialAction();
}
クラス2(ハウス)
public abstract class House extends Building
{
public abstract void specialAction()
{
System.out.println("Special Action Done");
}
}
のRunnableクラス
public class Program
{
public void main(String[] args)
{
House h = new House();
h.Update();
}
}
でHouse h
のUpdate
メソッドが呼び出された場合、specialAction
からHouse
というメソッドが呼び出され、コンソールは「特別なアクション完了」を表示します。
クラス1(建物): .hファイル:
-(void)Update;
-(void)SpecialAction;
私の質問は、Xcodeで、次のコードは、(むしろそのコンソール出力をオーバーライド継承と方法の面で)と同等になり、あります.Mファイル:
-(void)Update
{
[self specialAction];
}
クラス2(ハウス、拡張またはBuilding
から継承): .mファイルを:
-(void)SpecialAction
{
NSLog("Special Action Done");
}
のRunnableクラス
House* h = [[House alloc] init];
[h Update];
試したときに何が起こったのですか? – vikingosegundo