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

🦅 شرح Swift

البروتوكولات (Protocols)

الدرس 19 من 29· ⏱ 1 دقائق قراءة· 🗓 آخر تحديث: ٢٧ يونيو ٢٠٢٦

ما هو البروتوكول؟

عقد يحدّد متطلّبات (طرقًا وخصائص) على الأنواع تبنّيه (يشبه interface):

protocol Describable {
    var name: String { get }
    func describe() -> String
}

struct Product: Describable {
    var name: String
    func describe() -> String {
        return "المنتج: \(name)"
    }
}

تبنّي عدّة بروتوكولات

protocol Identifiable { var id: Int { get } }

struct User: Describable, Identifiable {
    var name: String
    var id: Int
    func describe() -> String { "مستخدم \(name)" }
}

التنفيذ الافتراضي عبر extension

extension Describable {
    func describe() -> String {
        return "كائن: \(name)"      // افتراضي للجميع
    }
}

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

let items: [Describable] = [Product(name: "كتاب")]
for item in items { print(item.describe()) }

💡 "البرمجة الموجّهة بالبروتوكولات" فلسفة أساسية في Swift و SwiftUI.

🎯 التالي: دوال التمديد.

شرح البروتوكولات (Protocols) — Swift بالعربي
البروتوكولات (Protocols)Swift بالعربي · The Code Fix

📚 لمزيد من التعمّق في Swift، راجِع كتاب Swift الرسمي.

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