Kotlin Extension Kavrami

Özgür Can
1 min readJun 2, 2020

Extension fonksiyonlar var olan sınıflara yeni davranışlar eklememize veya yeni fonksiyonlar ekleyerek bir sınıfın işlevselliğini arttırmamıza yardımcı olurlar..Herhangi bir extend veya miras(kalıtım) gerektirmez. İlk başta oturmayabilir ama örneklerle oturacağına eminim.

Örneğin bir uygulamada girilen değerin her zaman faktoriyelini aldırmak,girilen rakamın 10 ile toplanmasını veya girilen her değerin sonuna ünlem eklenmesi de olabilir..

İlk olarak girilen değerin faktoriyelini alacak fonksiyonu yazalım.. Önce normal şartlarda ne olacağını.. Daha sonra Extension kullanarak.

Normal şartlar da faktoriyelini bu şekilde yazdırıyoruz..

Bunu extension olarak nasıl yaparım?

Ne yaptığımızı acıklayalım. “Int classına yeni bir fonksiyon eklemiş olduk. Artık bunu çağırdığımız yerde Int degere faktoriyelini istediğimiz sayıyı girip.faktoriyelExt çağırmamız yeterli. Yukarda 7.faktoriyelExt dediğimiz için bize “Exptension Faktoriyel : 5040” değerini gösterdi.

Yeni başlayanlar için karışık bir işlemde göstermiş olabilirim.Fakat basit anlam da yine bir fonksiyon, kullanım açısından nasıl olduğunu görmenizi istedim.

Şimdi String değişkende nasıl olduğunu gösterip bitirelim. Burda sonuna ünlem koymak istediğimiz yazılar için yapalım. Önemli olan mantığını anlamanız.

Çıktı olarak “Özgür Can!!” verecektir. Bir farklı kullanımı da var parametreli olarak onuda kısaca göstermek istiyorum.

Buda aklınızda olsun..

Son olarak “Regex” i de göstereyim.. Özellikle Stringlerle çalışıyorsanız ve bunları belli bir formata göre düzenlemek istiyorsanız bir deseniniz varsa; Regex bize birçok özellik sağlıyor. Mesela fazla olan boşluk için şöyle bir ifade kullanabiliriz.

“\\s+” içinde bir ve ya birden fazla boşlukları al

regex.replace(this(bizim yazımızı bul), (“ ”) tek boşluk olarak yap diyoruz)

Oldukça kullanışlı. Basit olarak bu şekilde 2. bir extension kullanımı makalesi daha olacak.. Buda biraz daha proje içinde kullanım örnekleri içerek.. Umarım faydalı olmuştur.

--

--