Kotlin Dersleri #19 - Extension Fonksiyonlar
Extension Fonksiyonlar
Kotlin bize başka bir class'a -o class'ı extend etmeden veya class'a dokunmadan- yeni fonksiyonlar eklememize olanak sağlar. Bu kullanıma extension diyoruz.
fun String.isOK() = this.equals("OK", true)
String sınıfı için yazılmış basit bir extension fonksiyon
println("emre".isOK) // false
println("OK".isOK) // true
Üstteki kullanımda String class'ına isOK adında bir fonksiyon eklemiş olduk. Extension fonksiyonlar her yerden ulaşılabilir olmalıdır.
Birkaç örnek daha:
open class Shape class Rectangle: Shape() fun Shape.getName() = "Shape" fun Rectangle.getName() = "Rectangle" fun printClassName(s: Shape) { println(s.getName()) } printClassName(Rectangle())
fun Any?.toString(): String { if (this == null) return "null" // after the null check, 'this' is autocast to a non-null type, so the toString() below // resolves to the member function of the Any class return toString() }
Extension fonksiyonları örneklendirerek bitirmek istiyorum, daha fazla açıklama istediğiniz kısımları soru bölümünden bana bildirebilirsiniz :)
Sorularınızı ve isteklerinizi yorum bölümünden iletebilirsiniz.Kaynak: