「Scala」の版間の差分
削除された内容 追加された内容
→ケースクラス: : コンストラクタ引数に val がなくても、自動的にフィールドが宣言されます。 :: var なフィールドを希望する場合は、var を明示します。 : インスタンス化する時、new は必要ありません。 :: コンパニオンオブジェクトが自動的に生えてきます。 タグ: 2017年版ソースエディター |
→シングルトン・オブジェクト: object は、たった1つのインスタンスを持つクラス(=シングルトン)です。 これは、lazy valのように、参照されたときに(遅延して)生成されます。 タグ: 2017年版ソースエディター |
||
821 行
:: コンパニオンオブジェクトが自動的に生えてきます。
== シングルトン・オブジェクト ==
object は、たった1つのインスタンスを持つクラス(=シングルトン)です。
これは、lazy valのように、参照されたときに(遅延して)生成されます。
object は、トップレベルの値としてはシングルトンであり、 クラスのメンバやローカルな値としては、lazy val と全く同じ振る舞いをします。
=== シングルトン・オブジェクトの定義 ===
シングルトン・オブジェクトは値です。シングルトン・オブジェクトの定義はクラスのように見えますが、object というキーワードを使用します。
シンプルなシングルトン
object Simple
== トレント ==
|