Junior — Middle
Оё иҷозат аст, ки тағйирёбандаҳо (var) дар параметрҳои конструктори data class дар Kotlin истифода шаванд?
sobes.tech AI
Ҷавоб аз AI
Дар Kotlin, дар параметрҳои конструктори data class истифодаи модификатори var ғайриимкон аст. Параметрҳои конструктори data class ба таври худкор val (бе тағирёбандагӣ) ё var (тағйирёбандагӣ) мебошанд, аммо ҳангоми эълон кардани параметрҳои конструктор бояд равшан нишон дод, ки var ё val.
Масалан, эълони дурустии data class бо var:
data class User(var name: String, val age: Int)
Агар var ё val нишон дода нашаванд, параметрҳо танҳо параметрҳои конструктор хоҳанд буд, аммо хусусиятҳои синф нахоҳанд буд, ва data class наметавонад методҳои заруриро (equals, hashCode, toString) барои онҳо тавлид кунад.
Аз ин рӯ, истифодаи танҳо var бе val ё var дар параметрҳои конструктори data class ғайриимкон аст — бояд равшан нишон дод, ки var ё val истифода шавад.