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:
Bu postu paylaş:

0 yorum

Yorum yapmak için giriş yapmanız gerekmektedir. Giriş yap
Henüz hesabınız yoksa 20 saniyenizi ayırıp kayıt olabilirsiniz. Kaydol