011-003-014

コンストラクタチェーンでデフォルト値設定

中級

問題説明

コンストラクタチェーンでデフォルト値設定

この問題では: UserProfileクラスで3つのコンストラクタをチェーン形式で構成し、段階的にデフォルト値を設定するプログラムを作成します。

学習目標: 複数のコンストラクタをthis()で連鎖させ、デフォルト値を段階的に設定するパターンを理解する

概要

コンストラクタチェーンでは、引数の少ないコンストラクタが順にデフォルト値を追加しながら、最も引数の多いコンストラクタに委譲します。実際の初期化は最終のコンストラクタのみで行い、コードの重複を完全に排除します。

仕様

  • UserProfileクラス: name(String)、age(int)、role(String)フィールド
  • UserProfile(String name): this(name, 0, "guest")で委譲
  • UserProfile(String name, int age): this(name, age, "member")で委譲
  • UserProfile(String name, int age, String role): 全フィールドを初期化
  • toString()をオーバーライドして情報を返す

出力形式

UserProfile[name=Alice, age=0, role=guest]
UserProfile[name=Bob, age=25, role=member]
UserProfile[name=Charlie, age=30, role=admin]

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

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

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

新規登録