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
}