تخطَّ إلى المحتوى

🟣 شرح Kotlin

الواجهات والأصناف المجرّدة

الدرس 17 من 25· ⏱ 1 دقائق قراءة

الواجهة (Interface)

عقد من الطرق التي يجب تنفيذها (يمكن أن تحوي تنفيذًا افتراضيًّا):

interface Clickable {
    fun click()
    fun showOff() = println("قابل للنقر")   // افتراضي
}

class Button : Clickable {
    override fun click() = println("نُقر الزرّ")
}

تنفيذ عدّة واجهات

interface Focusable { fun focus() }

class Input : Clickable, Focusable {
    override fun click() {}
    override fun focus() {}
}

الصنف المجرّد (Abstract)

abstract class Shape {
    abstract fun area(): Double      // بلا تنفيذ
    fun describe() = "مساحة: ${area()}"
}

class Circle(val r: Double) : Shape() {
    override fun area() = 3.14 * r * r
}

الفرق

  • interface: سلوك مشترك، عدّة واجهات، بلا حالة (state) محفوظة.
  • abstract class: قالب جزئي بحالة وبانٍ، وراثة واحدة فقط.

🎯 التالي: أصناف البيانات.

هل كان هذا الدرس مفيدًا؟