home wiki.fukuchiharuki.me
Menu

キーワード

  • コンストラクタ
  • staticメソッド
  • シングルトン

何か

自前工場

そのクラスのインスタンスを生成するstaticなメソッドを設けます。

なぜか

オーバーロードして複数のコンストラクタを設ければ生成について複数の手段を提供することができます。しかしコンストラクタには名前をつけることができません。生成する側がコンストラクタの引数の違いだけでそれぞれのコンストラクタの意図を読み取るのは困難です。そこでインスタンスの生成をstaticなメソッドの機能にすることでメソッド名として意図を表現することができます。

  • 名前(メソッド名)をつけられる

また、シングルトンを実装するのにも便利です。コンストラクタの使用を許すということはインスタンスの生成が自由であるということです。このことはシングルトンにしたいそのクラスにとっては不都合です。そこでコンストラクタをprivateにしてstaticなメソッドが代役をすることでインスタンスがシングルトンであることを強制することができます。

  • シングルトンを強制する

どのように

関連

参考