私は長い間この質問をしていましたが、私に答えたすべての人が私に適切な答えを与えませんでした。インターフェイスはポリモーフィズムのためにOOP言語で使用されていると思いますが、以下のような状況では、その処理方法がわかりません[Javaで]
次のインターフェイスと2つのクラスを取りましょう。
public interface Vehicle{
public int noOfWheels();
public String movingMethod();
}
public class Car implements Vehicle{
public int noOfWheels(){
return 4;
}
public String movingMethod(){
return "Drive";
}
}
public class Flight implements Vehicle{
public int noOfWheels(){
return 5;
}
public String movingMethod(){
return "Fly";
}
//a behaviour only applicable to a flight
public int noOfWings(){
return 5;
}
}
=======================================
simulation
Vehicle v1 = new Car();
System.out.println(v1.noOfWheels());
System.out.println(v1.movingMethod);
Vehicle v2 = new Flight();
System.out.println(v2.noOfWheels());
System.out.println(v2.movingMethod);
System.out.println(v2.noOfWings());//this is not working as Vehicle interface doesn't have this method.
では、どうすればこの種の問題の解決策を達成できるでしょうか。フライトタイプ用に別のインターフェイスを作成できることは知っていますが、この例を使用して問題を表現しました。