0Pricing
Swift Academy · درس

الوراثة وإعادة التعريف وfinal

أنشئ فئة أساسية، ومدّدها عبر الوراثة، وأعد تعريف الدوال والخصائص باستخدام override ، واستدعِ super ، وثبّت السلوك باستخدام final .

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

نظرة عامة

تدعم الأصناف في Swift الوراثة. يمكنك تجاوز السلوك واستدعاء super. استخدم final لمنع المزيد من التغيير.

الصنف الأساسي

أنشئ صنفًا أساسيًا يحتوي على أسلوب مثيل يمكن للأصناف الفرعية تجاوزه.

class Animal {
    var name: String
    init(name: String) { self.name = name }
    func speak() -> String { "..." }     // to be overridden
}
let a = Animal(name: "Thing")
print(a.speak())

تجاوز الأسلوب

استخدم الكلمة المفتاحية override عند توفير تنفيذ جديد في صنف فرعي.

class Dog: Animal {
    override func speak() -> String { "woof" }
}
let d = Dog(name: "Rex")
print(d.speak())  // "woof"

استدعاء super

استدعِ super لإعادة استخدام سلوك الصنف الأساسي وتوسيعه في الصنف الفرعي.

class Cat: Animal {
    override func speak() -> String {
        let base = super.speak()
        return base + " meow"
    }
}
print(Cat(name: "Mimi").speak())  // "... meow"

التجاوز وfinal

يمكنك تجاوز الخصائص والأساليب. استخدم final مع صنف أو عضو لمنع إنشاء أصناف فرعية أو إجراء المزيد من التجاوز.

class Vehicle {
    var description: String { "vehicle" }        // computed property
    func drive() { print("move") }
}
class Car: Vehicle {
    override var description: String { "car" }   // override property
    override func drive() { print("vroom") }
}
final class ElectricCar: Car {                   // cannot be subclassed
    final override func drive() { print("zzzz") } // cannot be overridden further
}
let e = ElectricCar()
print(e.description)
e.drive()

ملاحظات ونصائح

ملاحظات:

  • يُفضّل استخدام التركيب بدلًا من التسلسلات الهرمية العميقة.
  • ضع العلامة final على الأصناف أو الأعضاء ما لم تكن تنوي توسيعها عبر إنشاء أصناف فرعية.
  • استخدم دائمًا override عند استبدال سلوك الصنف الأساسي.

الكلمة المفتاحية final

تحقق سريع: ما الكلمة المفتاحية التي تمنع إنشاء الأصناف الفرعية أو إجراء التجاوز؟

خلاصة

الخلاصة: عرّف صنفًا أساسيًا، وتجاوز الأساليب والخصائص باستخدام override في الأصناف الفرعية، واستدعِ super لإعادة استخدام العمل، وضع final على الأنواع أو الأعضاء لمنع تغيير السلوك.

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

هل درس «الوراثة وإعادة التعريف وfinal» مجاني؟

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

ماذا ستتعلم في «الوراثة وإعادة التعريف وfinal»؟

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

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

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

كم من الوقت يستغرق درس «الوراثة وإعادة التعريف وfinal»؟

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

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

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

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

  1. تهيئة Memberwise والدوال mutating
  2. الوراثة وإعادة التعريف وfinal
  3. التحكم في الوصول (public/internal/fileprivate/private)
← العودة إلى Swift Academy