Junior
Veri sınıfında yapıcılar ne için kullanılır ve onlarsız olmak mümkün müdür?
sobes.tech yapay zeka
AI'dan gelen yanıt
Veri sınıfında, yapıcı, nesne oluşturulurken özelliklerini başlatmak için kullanılır. Derleyici tarafından, sınıf adından sonra parantez içinde belirtilen ana yapıcıdaki özelliklere göre otomatik olarak oluşturulur.
Açık belirtilmiş yapıcı tanımından kaçınmak ve gerekirse kullanmak gerekir, çünkü derleyici şunları otomatik olarak oluşturur:
- Ana yapıcı
(val/var özellik1: Tip1, val/var özellik2: Tip2, ...) equals(),hashCode(),toString()metodlarıcopy()metodu- Yıkıcılar için
componentN()metodları
Örnek:
// Otomatik oluşturulan yapıcıyla veri sınıfı
data class User(val name: String, val age: Int)
// Nesne oluşturma
val user = User("Alice", 30)
El ile yapıcı yazmaya gerek yoktur, başka bir başlatma mantığı veya varsayılan özellikler gerekmedikçe, çünkü data class'ın temel amacı sadece veri saklamaktır. Hatta varsayılan özellikler ana yapıcıda belirtilebilir:
// Varsayılan özelliğe sahip veri sınıfı
data class Product(val id: Int, val name: String, val price: Double = 0.0)
Bu nedenle, data class'ta yapıcı her zaman vardır, ancak çoğu durumda tanımı derleyici tarafından alınır.