0Pricing
Android Academy · درس

الفئات والكائنات

عرّف الفئات باستخدام الخصائص والأساليب، واستخدم المُنشئات، وافهم الوراثة والواجهات، واكتب شيفرة كائنية التوجه بأسلوب Kotlin الاصطلاحي.

الفئات والكائنات درس مجاني في Android Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Android Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Android Academy 4 دروس في المجموع.

ما هي الفئة؟

الفئة مخطط لإنشاء الكائنات. وهي تجمع البيانات ذات الصلة (الخصائص) والسلوك (الدوال) معًا.

  • class Dog — يعرّف المخطط
  • val myDog = Dog() — ينشئ نسخة (كائنًا)

مثال: فئة User تحتوي على الاسم والعمر والبريد الإلكتروني.

تعريف فئة

تستخدم فئات Kotlin صياغة موجزة للمنشئ الأساسي:

class User(val name: String, var age: Int) {
    fun greet(): String {
        return "Hi, I'm $name and I'm $age years old."
    }
}

fun main() {
    val user = User("Alice", 28)
    println(user.name)     // Alice
    println(user.age)      // 28
    user.age = 29          // var can be changed
    println(user.greet())
}

فئات البيانات

تُعدّ فئة البيانات مناسبة تمامًا لحفظ البيانات. أضيفوا الكلمة المفتاحية data وستُنشئ Kotlin تلقائيًا:

  • equals() / hashCode() — المقارنة حسب القيمة
  • toString() — مخرجات قابلة للقراءة
  • copy() — إنشاء نسخة معدّلة

مثال على فئة بيانات

تتألق فئات البيانات عند تمثيل كائنات النماذج:

data class Product(val id: Int, val name: String, val price: Double)

fun main() {
    val p1 = Product(1, "Laptop", 999.99)
    val p2 = p1.copy(price = 899.99) // new copy with changed price

    println(p1)           // Product(id=1, name=Laptop, price=999.99)
    println(p2)           // Product(id=1, name=Laptop, price=899.99)
    println(p1 == p2)     // false (different price)
}

الكائنات المرافقة

يحتوي الكائن المرافق على أعضاء تنتمي إلى الفئة نفسها، وليس إلى أي نسخة منها — وهو مشابه لـstatic في Java.

يمكنكم الوصول إليها عبر اسم الفئة: User.create()

مثال على كائن مرافق

استخدموا الكائنات المرافقة لأساليب المصنع والثوابت:

class Counter {
    var count = 0

    fun increment() { count++ }

    companion object {
        const val MAX = 100

        fun create(): Counter = Counter()
    }
}

fun main() {
    val c = Counter.create()
    c.increment()
    c.increment()
    println(c.count)        // 2
    println(Counter.MAX)    // 100
}

الوراثة

تكون فئات Kotlin من النوع final افتراضيًا (ولا يمكن توسيعها). علّموا الفئة بالكلمة open للسماح بالوراثة.

  • open class Animal — يمكن توسيعها
  • class Dog : Animal() — ترث من Animal
  • override fun sound() — تتجاوز دالةً موروثة

مثال على الوراثة

أنشئوا تسلسلًا هرميًا بسيطًا للفئات:

open class Shape {
    open fun area(): Double = 0.0
}

class Circle(val radius: Double) : Shape() {
    override fun area(): Double = 3.14159 * radius * radius
}

class Rectangle(val w: Double, val h: Double) : Shape() {
    override fun area(): Double = w * h
}

fun main() {
    val shapes: List<Shape> = listOf(
        Circle(5.0),
        Rectangle(4.0, 3.0)
    )
    for (s in shapes) println("Area: ${s.area()}")
}

تصريحات الكائنات

ينشئ تعريف object singleton — أي فئة لها نسخة واحدة بالضبط، تُنشأ عند الوصول إليها للمرة الأولى.

استخدموه للأدوات أو المديرين أو أي شيء ينبغي أن تكون له نسخة واحدة فقط.

اختبار سريع

ما الميزة التي توفّرها data class في Kotlin تلقائيًا؟

مراجعة: الفئات والكائنات

لقد تعلّمتم أساسيات البرمجة كائنية التوجه في Kotlin:

  • الفئات ذات المنشئات الأساسية والدوال العضوية
  • data class — إنشاء تلقائي لـ equals وtoString وcopy
  • companion object — أعضاء على مستوى الفئة (static)
  • الفئات open وoverride للوراثة
  • تعريفات object لإنشاء singleton

أنتم مستعدون الآن لبناء تطبيقات Android حقيقية!

الأسئلة الشائعة

هل درس «الفئات والكائنات» مجاني؟

نعم — نص درس «الفئات والكائنات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Android Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Android Academy 4 دروس في المجموع.

ماذا ستتعلم في «الفئات والكائنات»؟

عرّف الفئات باستخدام الخصائص والأساليب، واستخدم المُنشئات، وافهم الوراثة والواجهات، واكتب شيفرة كائنية التوجه بأسلوب Kotlin الاصطلاحي. تتمرن على Android Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Android Academy؟

لا تُشترط خبرة سابقة. Android Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «الفئات والكائنات»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Android Academy هذا؟

نعم. كل درس في Android Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. أمان القيم الفارغة
  2. الفئات والكائنات
  3. فئات البيانات والفئات المحصورة
  4. دوال الامتداد والدوال عالية الرتبة
← العودة إلى Android Academy