x32x01
أدارة أكتب كود
- بواسطة x32x01 ||
ليه تستخدم الـ interfaces في الـ oop ؟
من ضمن الامثلة اللي هتبينلك فايدة ال interfaces هو المثال التالي:
تخيل ان عندك سيستم بيسمحلك تنشر عليه 3 حاجات :
تعالى نشوف هنمثل ده ازاي في ال oop؟
هنعمل class اساسي وهو هيبقى ال parent class هيبقى اسمه Post هيبقى فيه تلاتة methods وهما
وعملت 3 classes تانيين للمنتجات والمقالات والخدمات كالتالي
Product
Article
Service
وخليناهم يورثو من Post class ايه اللي هيحصل هنا؟
ان كل كلاس من دول هيبقى فيهم تلقائي ال 3 methods اللي هما
لو مش فاهم لحد هنا نصيحتي راجع ال inheritance في ال oop
نكمل المثال بتاعنا ، دلوقتي جينا قررنا اننا عايزين نزود في كلاسين ال Article و Product ميثود جديدة وهي ال
ساعتها هتعمل ايه؟ هتروح تزودها ف Post class بما انه الclass الاساسي اللي بنورث منه؟ اكيد لا لان كده هتلاقي Service class هو كمان بقى فيه الميثود
فايه الحل هنا؟
الحل انك تعمل interface اسمه
وتخلي فيه ميثود ال
واي كلاس محتاجين يبقى فيه ميثود ال delete() يعمل implement لل interface ده
طب هييجي ف دماغك سؤال طب منا ممكن ازود ميثود ال delete() من غير ما اعمل interface ؟
هقولك يا صديقي هنا استخدام ال interface هيخليك تضمن ان كل ال classes اللي بتستخدمه هيبقى فيها نفس الميثود بنفس الاسم بنفس ال response data type وكمان ممكن فيما بعد تحتاج تعمل شرط ان لو ال class ده بيستخدم ال interface اللي اسمه Deletable تطبق عليه لوجيك معين
من ضمن الامثلة اللي هتبينلك فايدة ال interfaces هو المثال التالي:
تخيل ان عندك سيستم بيسمحلك تنشر عليه 3 حاجات :
Code:
services خدمات
articles مقالات
products منتجات
هنعمل class اساسي وهو هيبقى ال parent class هيبقى اسمه Post هيبقى فيه تلاتة methods وهما
Code:
add()
edit()
show()
Product
Article
Service
وخليناهم يورثو من Post class ايه اللي هيحصل هنا؟
ان كل كلاس من دول هيبقى فيهم تلقائي ال 3 methods اللي هما
Code:
add()
edit()
show()
نكمل المثال بتاعنا ، دلوقتي جينا قررنا اننا عايزين نزود في كلاسين ال Article و Product ميثود جديدة وهي ال
Code:
delete()
Code:
delete()
فايه الحل هنا؟
الحل انك تعمل interface اسمه
Code:
Deletable
Code:
delete()
طب هييجي ف دماغك سؤال طب منا ممكن ازود ميثود ال delete() من غير ما اعمل interface ؟
هقولك يا صديقي هنا استخدام ال interface هيخليك تضمن ان كل ال classes اللي بتستخدمه هيبقى فيها نفس الميثود بنفس الاسم بنفس ال response data type وكمان ممكن فيما بعد تحتاج تعمل شرط ان لو ال class ده بيستخدم ال interface اللي اسمه Deletable تطبق عليه لوجيك معين