Sobes.tech
Junior — Middle

Dasturlash tilida data class foydalanish qanday operatsiyalar va imkoniyatlar taqdim etadi?

sobes.tech AI

AIdan javob

Kotlin'da ma'lumotlar sinfi — bu ma'lumotlarni saqlash uchun mo'ljallangan maxsus sinf. data kalit so'zi bilan sinf e'lon qilinganda, kompilyator avtomatik ravishda bir nechta foydali metodlarni yaratadi:

  • equals() va hashCode() — ob'ektlarni qiymat bo'yicha, havola emas, solishtirish uchun.
  • toString() — ob'ekt mazmunini qulay tarzda chiqarish uchun.
  • copy() — ob'ektning nusxasini yaratish, ba'zi xususiyatlarni o'zgartirish imkoniyati bilan.
  • componentN() funksiyalari — ob'ektni destruktur qilish uchun.

Misol:

data class User(val name: String, val age: Int)

fun main() {
    val user1 = User("Ivan", 30)
    val user2 = user1.copy(age = 31)
    println(user1) // User(name=Ivan, age=30)
    println(user2) // User(name=Ivan, age=31)

    val (name, age) = user1
    println("Ism: $name, Yoshi: $age")
}

Shu tarzda, ma'lumotlar sinfi, asosan ma'lumotlarni o'z ichiga olgan ob'ektlar bilan ishlashni soddalashtiradi va takroriy kod miqdorini kamaytiradi.