Sobes.tech
Junior — Middle

Оё метавонед шарҳ диҳед, ки чӣ гуна data class дар Kotlin дар сатҳи дохилӣ татбиқ ва кор мекунад?

sobes.tech AI

Ҷавоб аз AI

Котлинда data class — бу махсус синф, маълумотларни сақлаш учун мўлжалланган. Тўғрилаш вақтида, тўғрилашчи автоматик равишда бир неча фойдали методлар яратади:

  • equals() ва hashCode() — объектларни қиймат бўйича таққослаш учун, манзил бўйича эмас.
  • toString() — объектнинг қулай сатр кўринишини олиш учун.
  • copy() — объектнинг нусхасини яратиш, баъзи хусусиятларни ўзгартириш имконияти билан.
  • componentN() функциялари — объектни деструктурлаш учун.

Ичкида, data class асосий конструкторда эълон қилинган хусусиятларни ўз ичига олади, ва улар учун кириш усуллари яратилади. Бу такрорланадиган кодни олдини олади ва бундай синфлар билан ишлашни қулай ва хавфсиз қилади.

Масалан:

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

val user1 = User("Alice", 30)
val user2 = user1.copy(age = 31)
println(user1) // User(name=Alice, age=30)
println(user1 == user2) // false
val (name, age) = user1
println(name) // Alice