ما هو ال 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 واستطعنا الوصول للعمليات الاجبارية والاختيارية وهي العمر والاسم والراتب .