014-002-009

コンストラクタチェーンを使った初期化

中級

問題説明

コンストラクタチェーンを使った初期化

この問題では: super()this()によるコンストラクタチェーンを使い、Vehicle継承したCarクラスのフィールドを初期化し、結果を標準出力に表示するプログラムを作成します。

学習目標: super()とthis()を使ったコンストラクタチェーンの仕組みを理解する

概要

Vehicleクラスを継承したCarクラスを作成し、thisとsuperを使ったコンストラクタチェーンでフィールドを初期化するプログラムを作成してください。Scannerで車種・ドア数を読み込み、両方のコンストラクタを使って動作を確認します。

仕様

  1. Vehicle クラスに String type フィールドとコンストラクタを定義
  2. Car クラスが Vehicle を継承し、int doors フィールドを追加
  3. Car(String type, int doors): super(type)でVehicleを初期化し、doorsを設定
  4. Car(String type): this(type, 4)でデフォルト4ドアとして委譲
  5. show() メソッド<type> with <doors> doors を出力
  6. mainでScannerから入力を読み込み、両方のコンストラクタを使ってCarを作成しshow()を呼ぶ

入力形式

1行目: 1つ目の車の車種(String)
2行目: 2つ目の車の車種(String)
3行目: 2つ目の車のドア数(int)

出力形式

<type1> with 4 doors
<type2> with <doors2> doors

入出力例

入力:

Sedan
SUV
5

出力:

Sedan with 4 doors
SUV with 5 doors

コードを実行してみませんか?

この問題のコードエディタと実行機能を使用するには、ログインしてください。

アカウントをお持ちでない方

新規登録