Junior
Ma'lumotlar sinfida (data class) qanday o'zgaruvchilar ishlatilishi mumkin?
sobes.tech AI
AIdan javob
Data class ichida quyidagilar ishlatilishi mumkin:
val(faqat o'qish uchun xususiyat): Xususiyat obyekt yaratilganda boshlanadi va keyinchalik o'zgartirilmaydi. U avtomatik ravishda yaratiladigan metodlarning (equals(),hashCode(),toString(),copy()) bir qismidir.var(o'zgaruvchan xususiyat): Xususiyat obyekt yaratilgandan so'ng o'zgartirilishi mumkin. Shuningdek, u avtomatik ravishda yaratiladigan metodlarning bir qismidir.- Klassning tanasida e'lon qilingan xususiyatlar: Bu xususiyatlar data class ning asosiy xususiyatlari qismida emas va standart metodlarning yaratilishida ishtirok etmaydi.
Misol:
data class User(
val id: Int, // faqat o'qish uchun, asosiy xususiyatlar qismida
var name: String, // o'zgaruvchan, asosiy xususiyatlar qismida
val creationTime: Long = System.currentTimeMillis() // faqat o'qish uchun, standart qiymat bilan, asosiy xususiyatlar qismida
) {
val isAdmin: Boolean = false // faqat o'qish uchun, asosiy xususiyatlar qismida emas, equals/hashCode/toString ga kiritilmaydi
}