0Pricing
Swift Academy · درس

أساسيات Protocols وExtensions

عرّف Protocols، واجعل الأنواع تمتثل لها، ومدّدها بتطبيقات افتراضية، وافهم متطلبات النوع مقابل متطلبات النسخة.

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

مقدمة

تعرّف البروتوكولات في Swift عقدًا من الدوال والخصائص. وتتوافق الأنواع مع البروتوكولات للحصول على سلوك مشترك. وتضيف الامتدادات وظائف أو تطبيقات افتراضية.

تعريف البروتوكول

صرّح عن بروتوكول يضم الدوال أو الخصائص المطلوبة.

protocol Greetable {
    func greet() -> String
}

التوافق

يتوافق النوع مع البروتوكول من خلال تطبيق جميع متطلباته.

struct Person: Greetable {
    var name: String
    func greet() -> String {
        return "Hi, I am \\(name)"
    }
}
print(Person(name:"Ada").greet())

الامتدادات

استخدم الامتدادات لجعل الأنواع الموجودة متوافقة مع بروتوكول.

extension Int: Greetable {
    func greet() -> String { return "Number \\(self)" }
}
print(5.greet())

التطبيق الافتراضي

يمكن للامتدادات إضافة تطبيقات افتراضية، لذلك لا يتعين على الأنواع المتوافقة تطبيق كل شيء.

extension Greetable {
    func greet() -> String { return "Hello!" }
}
struct Dog: Greetable { }
print(Dog().greet())

العضو الساكن مقابل عضو النسخة

يمكن للبروتوكولات طلب أعضاء ساكنة وأعضاء نسخة.

protocol Identifiable {
    static var typeID: String { get }
    var id: Int { get }
}
struct Item: Identifiable {
    static var typeID = "Item"
    var id: Int
}
print(Item.typeID, Item(id:1).id)

سؤال عن البروتوكول

تحقق سريع: ما الدور الرئيسي للبروتوكول؟

مراجعة

مراجعة: عرّف البروتوكولات للعقود المشتركة، واجعل الأنواع متوافقة معها، ومدّد الأنواع الموجودة، وأضف التطبيقات الافتراضية، واستخدم متطلبات الأعضاء الساكنة وأعضاء النسخ.

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

هل درس «أساسيات Protocols وExtensions» مجاني؟

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

ماذا ستتعلم في «أساسيات Protocols وExtensions»؟

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

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

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

كم من الوقت يستغرق درس «أساسيات Protocols وExtensions»؟

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

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

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

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

  1. أساسيات Protocols وExtensions
  2. امتدادات Protocol مقابل امتدادات النوع
  3. متطلبات النوع مقابل متطلبات النسخة
← العودة إلى Swift Academy