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]
