Sobes.tech
Junior

Маалымат класында куруучулар эмне үчүн колдонулат жана аларсыз болобу?

sobes.tech AI

AIден жооп

Маалыматтар класында, куруучу анын мүнөздөмөлөрүн объект түзүлгөндө баштоо үчүн колдонулат. Ал автоматтык түрдө компилятор тарабынан түзүлөт, негизги куруучу ичинде класстын атынын артында көрсөтүлгөн мүнөздөмөлөргө негизделген.

Аны ачык аныктоо куруучуну болтурбоо жана колдонуу керек, анткени компилятор өзү төмөнкүлөрдү түзөт:

  • Негизги куруучу (val/var мүнөздөмө1: Тип1, val/var мүнөздөмө2: Тип2, ...)
  • equals(), hashCode(), toString() методдору
  • copy() методу
  • componentN() методдору деструктуризация үчүн

Мисал:

// Автоматтык түзүлгөн куруучу менен маалымат классы
data class User(val name: String, val age: Int)

// Объект түзүү
val user = User("Alice", 30)

Куруучуну кол менен жазуу зарыл эмес, эгер башка логика менен экинчи даражадагы куруучу керек болбосо, анткени анын негизги максаты — маалыматтарды сактоо. Дагы, алдын ала белгиленген мүнөздөмөлөрдү негизги куруучу аркылуу көрсөтсө болот:

// Болжолдуу мүнөздөмөсү бар маалымат классы
data class Product(val id: Int, val name: String, val price: Double = 0.0)

Ошентип, data class ичинде куруучу ар дайым бар, бирок анын аныктамасы көбүнчө компилятор тарабынан алынат.