Sobes.tech
Junior

Kotlin-də xüsusiyyətlər və həmçinin get və set metodları haqqında nə deyə bilərsən?

sobes.tech Süni İntellekt

AI-dan cavab

Kotlin-də mülkiyyətlər sahə və ona uyğun olan getter və setterlərin birləşməsidir.

Mülkiyyətin təyini:

class MyClass {
    var mutableProperty: String = "default"
    val immutableProperty: Int = 10
}

Burada, mutableProperty dəyişdirilə bilən mülkiyyətdir və standart getter və setter ilə. immutableProperty isə yalnız standart getter ilə dəyişdirilməz mülkiyyətdir.

Açıq şəkildə getter və setter təyini:

class MyClass {
    var customProperty: String = ""
        get() = field.toUpperCase() // Xüsusi getter
        set(value) {
            field = value.toLowerCase() // Xüsusi setter
        }

    val computedProperty: Int
        get() = (1..10).random() // Hesablanan mülkiyyət, sahəsi yoxdur
}
  • field - getter və setter daxilində mülkiyyət sahəsinə istinad. Yalnız dəyişdirilə bilən mülkiyyətlər (var) üçün istifadə olunur.
  • Getter və setterlər, giriş və ya dəyişiklik zamanı əlavə məntiq icra etmək üçün fərdiləşdirilə bilər.
  • Hesablanan mülkiyyətlər (computedProperty) öz sahəsinə malik deyil və hər girişdə dəyəri hesablanır.

Əsas nöqtələr:

  • Kotlin-də, hər sahə üçün açıq şəkildə getter və setter yaratmağa ehtiyac yoxdur, onlar avtomatik yaradılır.
  • Mülkiyyətlər nöqtə notasiyası (nümunə.ad) ilə əldə edilir.
  • Açıq şəkildə getter və setter təyini, giriş və ya dəyişiklik zamanı məntiq əlavə etməyə imkan verir.
  • val mülkiyyətlərin getterləri hər zaman eyni tipdə dəyər qaytarmalıdır.
  • var mülkiyyətlərin setterləri eyni tipdə parametr qəbul edir.

Kotlin-də mülkiyyətlərin və Java-da sahə+metodların müqayisəsi:

Kotlin Mülkiyyəti Java Sahə + Metodlar Təsviri
var mənimMülkiyyətim: Tip private Tip mənimMülkiyyətim; + public Tip getMənimMülkiyyətim() + public void setMənimMülkiyyətim(Tip dəyər) Dəyişdirilə bilən mülkiyyət, avtomatik getter və setter ilə.
val mənimMülkiyyətim: Tip private Tip mənimMülkiyyətim; + public Tip getMənimMülkiyyətim() Dəyişdirilməz mülkiyyət, yalnız avtomatik getter ilə.
Xüsusi getter/setter Əl ilə yazılmış məntiq Giriş və ya dəyişiklik zamanı xüsusi məntiq əlavə etmək.
Hesablanan mülkiyyət Dəyər qaytaran açıq metod Mülkiyyətin dəyəri hər sorğuda hesablanır.