Sobes.tech
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.