ما هي دالة التمديد؟
تضيف وظيفة جديدة لنوع موجود (حتى من المكتبة القياسية) دون تعديله أو توريثه:
fun String.shout(): String {
return this.uppercase() + "!"
}
println("hello".shout()) // HELLO!
this تشير إلى الكائن الذي استُدعيت عليه الدالة.
أمثلة عملية
fun Int.isEven(): Boolean = this % 2 == 0
println(4.isEven()) // true
fun List<Int>.sumOfSquares(): Int = this.sumOf { it * it }
println(listOf(1, 2, 3).sumOfSquares()) // 14
خصائص التمديد
val String.firstChar: Char
get() = this[0]
println("Kotlin".firstChar) // K
💡 دوال التمديد تجعل الكود أنظف وأقرب للّغة الطبيعية، وتُستخدم بكثرة في مكتبات Android.
🎯 التالي: الأنواع العامّة.