Kotlin - 8 - interface ve implemantasyonu
Kotlin deki Interface kavramı Java 8 e oldukça yakın, method
implement edebileceği gibi abstract method tanımıda içerebilirler. Abstract
sınıflardan ayrıldıkları nokta ise şudur, Interface ler durum saklayamazlar.
Interface lere özellik eklemek mümkün, eklenen özellik
abstract olabileceği gibi override edilmiş getter ve setter method ları
barındırabilir, Ancak Interface te backing field olamayacağı için bu şekilde
erişim sağlanamaz.
Override çakışmalarını
önleme:
Birden fazla Interface (A, B) kullanılarak bir class (C)
oluşturulduğunda “<interface_name>.” İle çalışması istenen fonksiyon “super”
keyword’ü ile çağrılabilir, aksi durumda hangisini çağıracağını sistem
kestiremez. Aşağıdaki Örnekte C class’ına f1() özelinde B Interface’ini
referans almasını söylemiş oluyoruz.
class C : A, B { override fun f1() { super<B>.f1() }
Yorumlar
Yorum Gönder