015-004-005
ポリモーフィズム:戻り値
上級
問題説明
ポリモーフィズム:戻り値
この問題では: createVehicle(boolean needsEngine)ファクトリメソッドを実装し、標準入力から読み取った引数に応じてCarまたはBikeオブジェクト(Vehicle型として)を返し、getType()で乗り物の種類を標準出力に表示するプログラムを作成します。
学習目標: メソッドの戻り値として親クラス型を使用し、異なるサブクラスのオブジェクトを返す方法を理解する
概要
乗り物(Vehicle)クラスを継承した車(Car)と自転車(Bike)クラスがあります。条件に応じて異なる乗り物オブジェクトを返すファクトリメソッドを実装してください。
仕様
- Vehicleクラス:
getType()メソッド("Unknown"を返す) - Carクラス:
getType()で"Car"を返す - Bikeクラス:
getType()で"Bike"を返す createVehicle(boolean needsEngine)メソッド: 引数がtrueならCar、falseならBikeを返す(戻り値の型はVehicle)- Scannerで入力を読み取り、N台分の乗り物を作成して種類を出力する
入力形式
N
needsEngine_1
needsEngine_2
...
needsEngine_N
- 1行目: 作成する乗り物の台数 N
- 続くN行: 各乗り物がエンジンを必要とするかどうか(true または false)
出力形式
N行、それぞれ対応する乗り物の種類
入出力例
入力:
2
true
false
出力:
Car
Bike
