Sobes.tech
Junior

Kotlin'de kapsülleme nasıl gerçekleştirilir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Kotlin'de kapsülleme, erişim belirteçleri ve özellikler kullanılarak sağlanır.

Erişim belirteçleri:

  • public: her yerden erişilebilir (varsayılan).
  • internal: aynı modül içinde erişilebilir.
  • protected: kendi sınıfında ve alt sınıflarında erişilebilir.
  • private: sadece tanımlandığı sınıf içinde erişilebilir.

Özellikler, sınıfın verilerine erişimi yönetmek için kullanılır. Okuma veya yazma sırasında ek mantık eklemek için üzerine override edilebilen getter ve setter'lara sahip olabilirler.

class Person {
    // Sadece sınıf içinde erişilebilen özel alan
    private var _name: String = ""

    // Genel getter ve özel setter ile özellik
    var name: String
        get() = _name
        private set(value) {
            _name = value
        }

    // Giriş kontrolü yapan, isim ayarlama için genel fonksiyon
    fun setName(newName: String) {
        if (newName.isNotBlank()) {
            name = newName
        } else {
            println("İsim boş olamaz")
        }
    }
}

fun main() {
    val person = Person()
    person.setName("Alice") // Kontrol edilen yöntemle değiştirme
    println(person.name)    // Getter aracılığıyla değeri okuma
    // person.name = "Bob"   // Derleme hatası, setter özel
}