izmir escort

Kotlin Extension Fonksiyon ve Infix Fonksiyon

Java Kotlin Eğitimi

Merhaba Arkadaşlar,
Mobilhanem.com üzerinden anlattığımız Kotlin Dersleri‘mize bu dersimizde Kotlin Extension Fonksiyon ve Infix Fonksiyondan bahsedeceğiz.

Extension Fonksiyon

Extension fonksiyon bize sınıfların işlevlerini kodlarına dokunmak zorunda kalmadan istediğimiz şekilde genişletmemize yarayan bir fonksiyondur.

Java Kotlin Eğitimi

Ne demek istedi bu dediniz duydum 🙂

Birde şu şekilde anlatmaya çalışayım. Kotlin’deki extension fonksiyonları, yeni fonksiyonlar ekleyerek bir sınıfın işlevselliğini genişletmemize yardım eder. Sınıfın bize ait olması, yani bizim tanımlamış olduğumuz bir sınıf olması gerekmiyor. Hemde bu işlemi yaparken mevcut sınıfı miras almamız(kalıtım) yani extend etmemiz gerekmiyor yada herhangi bir design pattern kullanmamız gerekmiyor.

Şuan biraz daha oturdu açıklamam ama hala soru işaretleriniz mevcut biliyorum. Bir örnek vererek devam edeyim.

Örnek 1:

Bir uygulamada verilen sayının her zaman 5 ile çarpılmasına ihtiyacınız olduğunu düşünelim.

Bunu aşağıdaki gibi yapabilirsiniz:

Peki yukarıdaki işlemi Extension Fonksiyon ile nasıl yapardım:

Ne yaptık kısaca açıklayalım. Öncelikle Int.carp() şeklinde Int class’ına yeni bir fonksiyon ekledik. Bu fonksiyonumuzun adı carp() ve artık bunu tanımladığımız yerde int bir değere.carp diyerek methodumuzu çağırabiliriz.
Yukarıdaki örnekte 5.carp() diyerek int class’ına yeni tanımladığımız carp fonksiyonunu çağırmış olduk. Fonksiyounun içindeki this değeri hangi int değerin .carp() fonksiyonunu çağırdıysak onu dönecektir. Yani Yukarıda 5.carp() dediğimiz için this değeri 5’i dönecektir.

Örnek 2:

Yukarıda verilen sayıyı 3 ile çarpan fonksiyonu yazmıştık şimdi ise 3 yerine istediğimiz sayı ile çarpan Extension Fonksiyonu yazalım.

Örnek 3:

Farklı bir örnek ile devam edelim. Bir String değerimizin sonuna istenilen bir stringi ekleyelim.

Infix Fonksiyon

Infix fonksiyonlar için özelleştirilmiş Extension Fonksiyon diyebilriz. Hatırlarsınız Kotlin Range Kullanımı dersimde downTo, Step , Until gibi fonksiyonları aşağıdaki gibi kullanmıştık.

Gördüğnüz gibi bu fonksiyonların kullanımı diğerlerinden biraz daha farklı. Fonksiyonu kullanırken değişkenimizin sonuna “.” koyuyorduk. Infix fonksiyonlarda ise buna ihtiyaç duymuyoruz. Kotlinde bu tip fonksiyonlara Infix fonksiyon deniyor.

Nasıl tanımlarız Infix fonksiyonu ve nasıl kullanırız yukarıdaki 2 örnek üzerinden anlatalım.

Örnek 1:

Infix fonksiyon olduğu zaman artık fonksiyonumuzu boşluk bırakıp direk çağırabiliyoruz. Tanımlarken tek farkı fun kelimesinden önce Infix koymak.

Örnek 2:

Sonuç:

Extension ve infix fonksiyonlar, kodumuzun kolay okunması ve daha az kod yazmamız için çok yararlı olabilir. Çünkü, uygulama içinde ki ihtiyaçlarımıza özel ve orijinal kodun bir parçası gibi olan fonksiyonları ekleyebilmemiz mümkün.

Kotlin Eğitimi yazı serimizde bu dersimizde sizlere Kotlin Extension Fonksiyon ve Infix Fonksiyon kullanımını örnek kodlar üzerinden anlatmaya çalıştık. Ders hakkında görüş ve yorumlarınızı konu altından ve Slack üzerinden sorabilirsiniz.

Tüm Kotlin derslerimiz için tıklayınız.

Taha Kırca

iOS & Android & Apple Watch Developer, Mobilhanem.com yazarı, Karadeniz Uşağu, Ordu Sevdalısı

1 Yorum

  • Örnek 2 deki kodda bir problem var. “return 3*sayi” yerine “return this*sayi” olmalı. 35 ve 210 değerleri bu şekilde oluşmuyor.

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?