私は、Scalaに明示的なプライマリコンストラクターがないことの影響について興味を持っていました。クラス本体のコンテンツだけです。
特に、プライベートまたは保護されたコンストラクターパターン、つまり、コンパニオンオブジェクトまたは別のクラスまたはオブジェクトのメソッドを介して構築を制御することは、明確な実装を持たないのではないかと思います。
私が間違っている?もしそうなら、それはどのように行われますか?
Scalaシングルトンを(objectキーワードを使用して)作成し、そのシングルトン内でクラスをプライベートとして定義し、オブジェクトを構築するためのシングルトンのメソッドを作成できます。
—
Paggas、2009年
@Paggas、残念ながら、スコープ外でプライベートとマークされたクラスのインスタンスを返すと、スコープコンパニオンオブジェクトのメソッドから返された場合でも、コンパイルされません。
—
ドンマッケンジー
これは、Scalazソースコード全体でかなり大量に行われます。この概念は、抽象代数データ型とも呼ばれます。
—
Tony Morris、