Saya penasaran tentang dampak tidak adanya konstruktor primer eksplisit di Scala, hanya konten badan kelas.
Secara khusus, saya menduga bahwa pola konstruktor privat atau dilindungi, yaitu, mengontrol konstruksi melalui objek pendamping atau metode kelas atau objek lain mungkin tidak memiliki implementasi yang jelas.
Apakah aku salah? Jika demikian, bagaimana caranya?
Anda bisa memiliki Scala singleton (dengan kata kunci object, yaitu), dan mendefinisikan kelas Anda sebagai private dalam singleton tersebut, dan memiliki metode singleton untuk membangun objek Anda.
—
Paggas
@Paggas, sayangnya ketika Anda mengembalikan sebuah instance dari kelas yang ditandai privat di luar cakupannya, itu tidak akan dikompilasi, bahkan ketika dikembalikan dari metode itu dalam objek pendamping cakupan.
—
Don Mackenzie
Ini dilakukan cukup banyak di seluruh kode sumber Scalaz. Konsep ini juga dikenal sebagai tipe data aljabar abstrak .
—
Tony Morris