二種類の飛行機、戦闘機(FighterAiracraft)と、旅客機(PassengerPlane)クラスのインスタンスを生成し、各クラスのメソッドを実行するプログラムである。この2つのクラスには、共通するメンバが存在する。
そこで、これら2つのクラスに共通するメンバを、飛行機(AirPlane)クラスに集約し、FighterAiracraftクラス、およびPassengerPlaneは、それらのクラスを継承したものにするように、プログラムを書きかかえなさい。ただし、この時、AirPlaneクラスは、抽象メソッドfly()を持つ抽象クラスとすること。
解答は合っているのですが、これら2つのクラスに共通するメンバを、飛行機(AirPlane)クラスに集約し、FighterAiracraftクラス、およびPassengerPlaneは、それらのクラスを継承したものにするように、プログラムを書きかかえなさい。ただし、この時、AirPlaneクラスは、抽象メソッドfly()を抽象クラスとすること。の部分がうまくかけなくご教示していただきたいです。
以下が私が書いたコードになります。
Java
1public class Airplane extends FighterAircraft { 2 3 /** 4 * @return 5 * 6 */ 7 public void fly() { 8 System.out.println("攻撃に出るため飛行します。"); 9 10 } 11 12} 13
Java
1public class FighterAircraft { 2 private String Type = "戦闘機"; 3 4 public String getType() { 5 return Type; 6 } 7 8 public void fly() { 9 System.out.println("攻撃に出るために飛行します。"); 10 } 11 12 public void fight() { 13 System.out.println("戦闘します。"); 14 } 15 16} 17
public class PassengerPlane { private String type = "旅客機"; public String getType() { return type; } public void fly() { System.out.println("乗客を乗せて目的地まで飛行します。"); } public void carryPassengers() { System.out.println("乗客を目的地まで運びます。"); } }
Java
1public class Problemex3_1 { 2 3 /** 4 * @param args 5 */ 6 public static void main(String[] args) { 7 FighterAircraft fighter = new FighterAircraft(); 8 PassengerPlane airlinear = new PassengerPlane(); 9 // 戦闘機クラスの処理 10 fighter.fly(); // 飛行する 11 fighter.fight(); // 戦闘する 12 // 旅客機クラスの処理 13 airlinear.fly(); // 飛行する 14 airlinear.carryPassengers(); // 乗客を運ぶ 15 16 } 17 18} 19
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/18 08:05