Kotlin Dersleri #17 - Interface Nedir? Nasıl Kullanılır?
Interface
Basitçe iki varlık arasındaki iletişimi sağlar.
Türkçeye arayüz olarak çevirilen interfaceler; nesne yönelimli programlamanın temel yapılarındandır.
Aşağıda birkaç interface örneği göstereceğim, yorum yaparak anlamadığınız noktaları sorabilirsiniz.
Örnek1:
interface Person { fun name() fun age() { // optional body } }
Implementing Interface
Örnek2:
class Child : Person { override fun name() { // body }override fun age() { // body } }
Örnek2'de gördüğünüza üzere bir interface'den implemente edilen bir sınıf, o interface'de bulunan methodları override etmek zorundadır.
Interface'lerde Değişkenler
Örnek3:
interface MyInterface { val prop: Int // abstract val propertyWithImplementation: String get() = "foo" fun foo() { print(prop) } } class Child : MyInterface { override val prop: Int = 29 }
Kalıtım
Örnek4:
interface Named { val name: String } interface Person : Named { val firstName: String val lastName: String override val name: String get() = "$firstName $lastName" } data class Employee( // implementing 'name' is not required override val firstName: String, override val lastName: String, val position: Position ) : Person
Çoklu Kalıtım Problemleri ve Çözümleri
interface A { fun foo() { print("A") } fun bar() } interface B { fun foo() { print("B") } fun bar() { print("bar") } } class C : A { override fun bar() { print("bar") } } class D : A, B { override fun foo() { super<A>.foo() super<B>.foo() } override fun bar() { super<B>.bar() } }
Sorularınızı ve isteklerinizi yorum bölümünden iletebilirsiniz.Kaynak: