問題
車両(Vehicle)という親クラスを作成します。このクラスには車両の色を表すインスタンス変数が含まれ、コンストラクタで初期化されます。さらに、車両の色を取得するメソッドも作成します。次に、自動車(Car)クラスを作成し、Vehicle を継承します。Car クラスには自動車の速度を表すインスタンス変数があり、コンストラクタで初期化されます。自動車の速度を取得するメソッドも作成します。各クラスでコンストラクタを実装し、暗黙的なスーパークラスのコンストラクタ呼び出しが行われていることを確認します。
ヒント
- 車両クラス (
Vehicle
):Vehicle
クラスでは、color
という車両の色を表すインスタンス変数を持ちます。- コンストラクタを実装して、車両の色を初期化します。
getColor()
メソッドを実装して、車両の色を取得します。
- 自動車クラス (
Car
):Car
クラスはVehicle
クラスを継承します。Car
クラスには新しいインスタンス変数speed
があり、自動車の速度を表します。- コンストラクタを実装して、親クラス
Vehicle
のコンストラクタを呼び出し、自動車の速度も初期化します。 getSpeed()
メソッドを実装して、自動車の速度を取得します。
- 確認:
Car
クラスのコンストラクタ内で、super(color)
を使用して親クラスVehicle
のコンストラクタを呼び出します。- 各クラスのインスタンスを作成し、メソッドを呼び出して期待される結果が得られるか確認します。
このヒントを参考に、各クラスの構造を実際にコードに落とし込んでみてください。
→解答例