ما هو ال Protocol ؟؟
البروتوكول هو عبارة عن حاوية تحوي على العمليات والخصائص المراد من الكلاس تنفيذها بشكل مؤكد والزامي , بشرط كتابة الدالة وعدم تنفيذها الا داخل الكلاس .
كيف يكتب البروتوكول ؟
يتم من خلال الكلمة المحجوزة Protocol ومن ثم اسم البروتوكول ومن ثم البوك {} .
ملاحظة : البروتوكول لا يقبل الا الصفات اللتي تحتوي على set و get .
} protocol MyProtocol
{ var MySalary :Int { get
func MyName() -> String
{
في هذا المثال قمنا ب تعريف بروتوكول يحمل اسم MyProtocol اللذي يحمل الصفات الإلزامية , اما اذا اردنا اضفاة صفات اختيارية فيمكن ذلك ب اضافة كلمة optional واضافة objc@
} objc protocol MyProtocol@
{ var MySalary :Int { get
func MyName() -> String
optional func MyAge() -> Int
{
اذا اردنا تنفيذ البروتوكول على الكلاس بعد اسم الكلاس نضع : ومن ثم اسم البروتوكول
} class person : MyProtocol
{
مثال شامل :
قمنا بتعريف اكثر من بروتوكول لتلاحظ انه يمكن للكلاس ان يرث من اكثر من بروتوكول , وفي اخر المثال قمنا بعمل اوبجكت من الكلاس person واستطعنا الوصول للعمليات الاجبارية والاختيارية وهي العمر والاسم والراتب .