Genel

Kotlin -> Extension Fonksiyon

Merhabalar,

Bu yazımızda kotlin ‘inin javadan ayrıldığı bir konuya değineceğiz. Extension fonksiyon herhangi bir sınıfın kaynak konuda erişmeden ilgili sınıfa fonksiyon yazmanızı sağlar. Sınıf Primitive Type olsa ya da readonly olsa bile yazıyor olmanız çok güzel..

Burada olay şu öncelikle hangi sınıf için yazıcağınızı sonra metodun adını yazıyorsunuz. Metod o sınıftan receiver alıyor. Yanı o fonksiyonu çağırdığınız yerdeki değişkeni kullanabiliyorsunuz. Sonrasında fonksiyonun içerisini yazın.

Kaynak için :

//kotlinlang.org/docs/reference/extensions.html

Bizde örneklerimizi yapalım.

Bir string ‘in ilk ve son karakterini silen bir fonksiyon.

 fun main() {
        println("Ümit".removeFirstAndLastCharacter())
    }

    fun String.removeFirstAndLastCharacter() = substring(1,this.length-1)

Bir sayının mutlak değerini alalım.


    fun Int.abs() : Int = if(this < 0) -this else this
   
  
    println((-4).abs()) 
    println(4.abs()) 

Misal Android ‘te Toast bir mesaj gösteriyoruz. Hep aynı kod ‘u yazmak yerine daha da işi basitleştirebiliriz.

fun Context.toast(message: String){
    Toast.makeText(this, message, Toast.LENGHT_SHORT).show()
}

Context içinde Kullanımı: toast(message)

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir