Sobes.tech
Junior

Kotlinде маалымат класстарын кантип ишке ашырып жана колдонуу керек?

sobes.tech AI

AIден жооп

Маалымат класстары маалыматтарды сактоо үчүн колдонулат. Компилятор алар үчүн пайдалуу ыкмаларды, мисалы, equals(), hashCode(), toString(), copy() жана componentN() функцияларын автоматтык түрдө түзөт.

Ишке ашыруу: data префикси менен классты жарыялоо.

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

Колдонуу:

Мисал түзүү:

val user = User("Alice", 30)

Мүлктөргө жетүү:

val name = user.name // Alice
val age = user.age   // 30

Жасалган методдорду колдонуу:

println(user.toString()) // User(name=Alice, age=30)

башкаUser = User("Alice", 30)
println(user == anotherUser) // true (жасалган `equals()`)

жашыUser = user.copy(age = 31) // User(name=Alice, age=31)

колдонуучуАты, колдонуучуЖашы = user // Деструктуризация
println("Аты: $колдонуучуАты, Жашы: $колдонуучуЖашы") // Аты: Alice, Жашы: 30

Характеристикалар:

  • Бардык негизги куруучу параметрлери val же var болушу керек.
  • Маалымат класстары abstract, open, sealed же inner болбойт.
  • Класстын денесиндеги мүлктөр методдордун (equals(), hashCode(), copy(), componentN()) түзүлүшүнө катышпайт.
data class Person(val name: String) {
    var height: Int = 0 // `equals()`, `hashCode()`, `copy()`, `componentN()`га катышпайт
}

val p1 = Person("Bob")
p1.height = 180
val p2 = Person("Bob")
p2.height = 190
println(p1 == p2) // true