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