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