Sobes.tech
Junior — Middle

Ի՞նչ առանձնահատկություններ և սահմանափակումներ կան Kotlin-ի տվյալների դասերում։

sobes.tech AI

Պատասխան AI-ից

Դատարկ դասեր (data class) Kotlin-ում նախատեսված են տվյալների պահպանում համար և ավտոմատ կերպով տրամադրում են օգտակար մեթոդներ՝ equals(), hashCode(), toString(), copy() և դիստրակտուրացման ֆունկցիաներ:

Նկարագրություններ և սահմանափակումներ:

  • Կլասը պետք է ունենա առնվազն մեկ պարամետր կոնստրուկտորում:
  • Բոլոր կոնստրուկտորի պարամետրերը, որոնք հայտարարված են primary constructor-ում, ավտոմատ կերպով դառնում են հատկություններ:
  • Կլասը չի կարող լինել աբստրակտ, բաց, ներքին կամ ժառանգել այլ դասերից (բայց կարող է իրականացնել ինտերֆեյսներ):
  • Կոմպիլատորը միայն կոնստրուկտորում հայտարարված հատկությունների համար է ստեղծում մեթոդներ, ոչ ավելին:
  • Կարող եք վերագրել գեներացված մեթոդները, եթե ցանկանում եք փոխել վարքագիծը:

Օրինակ:

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)