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

🟣 شرح Kotlin

الكائنات و companion

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

object — مفرد (Singleton)

نسخة واحدة فقط في كامل البرنامج:

object Database {
    val url = "localhost"
    fun connect() = println("اتصال بـ $url")
}

Database.connect()   // بلا new — نسخة واحدة دائمًا

companion object — بديل static

Kotlin لا تملك static؛ تستخدم companion object لأعضاء على مستوى الصنف:

class User(val name: String) {
    companion object {
        const val MAX = 100
        fun create(name: String) = User(name)
    }
}

val u = User.create("براء")   // عبر اسم الصنف
println(User.MAX)

كائن مجهول (Anonymous object)

val listener = object : Clickable {
    override fun click() = println("نُقر")
}

💡 object للمفردات، وcompanion object للدوال/الثوابت المرتبطة بالصنف لا بالكائن.

🎯 التالي: الأصناف المختومة والتعدادات.

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