Sobes.tech
Junior

Məlumatlar sinifində (data class) hansı dəyişənlər istifadə oluna bilər?

sobes.tech Süni İntellekt

AI-dan cavab

Data class daxilində istifadə oluna bilənlər:

  • val (yalnız oxumaq üçün xüsusiyyət): Xüsusiyyət obyekt yaradıldıqda başlanır və sonradan dəyişdirilə bilməz. O, avtomatik yaradılan metodların (equals(), hashCode(), toString(), copy()) bir hissəsidir.
  • var (dəyişkən xüsusiyyət): Xüsusiyyət obyekt yaradıldıqdan sonra dəyişdirilə bilər. O, həmçinin avtomatik yaradılan metodların bir hissəsidir.
  • Sinifin bədənində elan olunan xüsusiyyətlər: Bu xüsusiyyətlər data class-ın əsas xüsusiyyətlərinin bir hissəsi deyil və standart metodların yaradılmasında iştirak etmir.

Nümunə:

data class User(
    val id: Int, // yalnız oxumaq üçün, əsas xüsusiyyətlərin bir hissəsi
    var name: String, // dəyişkən, əsas xüsusiyyətlərin bir hissəsi
    val creationTime: Long = System.currentTimeMillis() // yalnız oxumaq üçün, standart dəyər ilə, əsas xüsusiyyətlərin bir hissəsi
) {
    val isAdmin: Boolean = false // yalnız oxumaq üçün, əsas xüsusiyyətlərin bir hissəsi deyil, equals/hashCode/toString-ə daxil edilmir
}