Junior
Маалымат класында (data class) кайсы өзгөрмөлөр колдонулушу мүмкүн?
sobes.tech AI
AIден жооп
Data class ичинде колдонулушу мүмкүн:
val(тек окуу үчүн мүнөздөмө): Мүнөздөмө объект түзүлгөндө башталат жана кийинчерээк өзгөртүлбөйт. Ал автоматтык түрдө түзүлгөн методдордун (equals(),hashCode(),toString(),copy()) бир бөлүгү болуп саналат.var(өзгөрмө мүнөздөмө): Мүнөздөмө объект түзүлгөндөн кийин өзгөртүлүшү мүмкүн. Ал да автоматтык түрдө түзүлгөн методдордун бир бөлүгү болуп саналат.- Класс денесинде жарыяланган мүнөздөмөлөр: Бул мүнөздөмөлөр data classтын негизги мүнөздөмөлөрүнүн бөлүгү эмес жана стандарттык методдорду түзүүдө катышпайт.
Мисал:
data class User(
val id: Int, // гана окуу үчүн, негизги мүнөздөмөлөрдүн бөлүгү
var name: String, // өзгөрмө, негизги мүнөздөмөлөрдүн бөлүгү
val creationTime: Long = System.currentTimeMillis() // гана окуу үчүн, алдын ала белгиленген мааниси менен, негизги мүнөздөмөлөрдүн бөлүгү
) {
val isAdmin: Boolean = false // гана окуу үчүн, негизги мүнөздөмөлөрдүн бөлүгү эмес, `equals()`/`hashCode()`/`toString()`-га кирбейт
}