| この問題を解くためには… |
| → 応用編第2日目参照 |
|---|
問題2:継承
prob2-1.(難易度:★)
以下のプログラムに、飛行機クラスAirplaneを継承した戦闘機クラスFighterを指定されたとおりの仕様で追加し、期待された実行結果通りにプログラムが動くように改造しなさい。
probex2-1:Airplane.java
package problemex2;
public class Airplane {
public void fly(){
System.out.println("飛行する");
}
}
package problemex2;
public class Problemex2_1 {
public static void main(String[] args) {
Fighter f = new Fighter(); // 戦闘機クラス
Airplane a = new Airplane(); // 飛行機クラス
// 飛行機が飛行する
a.fly();
// 戦闘機が飛行する
f.fly();
// 戦闘機が戦闘する
f.fight();
}
}
飛行する← Airplaneクラスのfly()メソッドによる処理
飛行する← Fighterクラスのfly()メソッドによる処理
戦闘する← Fighterクラスのfly()メソッドによる処理
クラスFighterの仕様(メンバ関数)
飛行する← Fighterクラスのfly()メソッドによる処理
戦闘する← Fighterクラスのfly()メソッドによる処理
| メソッド名 | 戻り値の型 | 引数 | 概要 |
|---|---|---|---|
| fight | void | なし | 「戦闘する」と表示し、改行する。 |
prob2-2.(難易度:★)
以下のプログラムに、基本計算クラスFundClacを継承した新計算クラスNewCalcを指定されたとおりの仕様で追加し、期待された実行結果通りにプログラムが動くように改造しなさい。このさい、必要があれば、FundCalcクラスの必要な部分を改造しなさい。
probex2-2:FundCalc.java
package problemex2;
public class FundCalc {
private double number1 = 0.0; // 一つ目の数
private double number2 = 0.0; // 二つ目の数
// 一つ目の数を設定
public void setNumber1(double number1){
this.number1 = number1;
}
// 二つ目の数を設定
public void setNumber2(double number2){
this.number2 = number2;
}
// 一つ目の数を設定
public double getNumber1(){
return number1;
}
// 二つ目の数を設定
public double getNumber2(){
return number2;
}
// 二つの数の和を出力
public double add(){
return number1 + number2;
}
// 二つの数の差を出力
public double sub(){
return number1 - number2;
}
}
package problemex2;
public class Problemex2_2 {
public static void main(String[] args) {
NewCalc n = new NewCalc();
n.setNumber1(10); // 一つ目の数を設定
n.setNumber2(2); // 二つ目の数を設定
System.out.println(n.getNumber1() + " + " + n.getNumber2() + " = " + n.add());
System.out.println(n.getNumber1() + " - " + n.getNumber2() + " = " + n.sub());
System.out.println(n.getNumber1() + " * " + n.getNumber2() + " = " + n.mul());
System.out.println(n.getNumber1() + " / " + n.getNumber2() + " = " + n.div());
}
}
10 + 2 = 12
10 - 2 = 8
10 * 2 = 20
10 / 2 = 5
10 - 2 = 8
10 * 2 = 20
10 / 2 = 5
NewCalcクラスのヘッダ クラスNewCalcの仕様(メンバ関数)
| メソッド名 | 戻り値の型 | 引数 | 概要 |
|---|---|---|---|
| mul | double | なし | フィールドnumber1、number2の積 |
| div | double | なし | フィールドnumber1、number2の商 |









