Sobes.tech
Junior

Kotlin-də kapsülləmə necə həyata keçirilir?

sobes.tech Süni İntellekt

AI-dan cavab

Kotlin-də kapsülləmə giriş modifikatorları və xüsusiyyətlər vasitəsilə həyata keçirilir.

Giriş modifikatorları:

  • public: hər yerdən əlçatandır (standart).
  • internal: eyni modul daxilində əlçatandır.
  • protected: öz sinfində və onun törəmələrində əlçatandır.
  • private: yalnız təyin olunduğu sinfin daxilində əlçatandır.

Xüsusiyyətlər sinifin məlumatlarına girişin idarə olunması üçün istifadə olunur. Onlar oxuma və yazma üçün getter və setterə sahib ola bilər, və onları oxuma və ya yazma zamanı əlavə məntiq əlavə etmək üçün üst-üstə qoya bilərsiniz.

class Person {
    // Xüsusi sahə, yalnız sinif daxilində əlçatandır
    private var _name: String = ""

    // İctimai getter və xüsusi setter ilə xüsusiyyət
    var name: String
        get() = _name
        private set(value) {
            _name = value
        }

    // İctimai funksiya ilə adı təyin etmək, girişə nəzarət edir
    fun setName(newName: String) {
        if (newName.isNotBlank()) {
            name = newName
        } else {
            println("Ad boş ola bilməz")
        }
    }
}

fun main() {
    val person = Person()
    person.setName("Alice") // Nəzarət olunan metod ilə dəyişdiririk
    println(person.name)    // Getter vasitəsilə dəyəri oxuyuruq
    // person.name = "Bob"   // Tərtib xətası, setter xüsusi
}