عامر بيرادي نشر 22 نوفمبر 2015 أرسل تقرير نشر 22 نوفمبر 2015 أقرأ منذ فترة عن البرمجة غرضية التوجه OOP ومفاهيمها ومر معي مفهوم تعدد الأشكال Polymorphism ومازال المفهوم لدي غير واضح ولا اعلم متى يجب استخدامه ولماذا؟ 3 اقتباس
2 Lujain Maaz نشر 23 نوفمبر 2015 أرسل تقرير نشر 23 نوفمبر 2015 تعني Polymorphism قدرة الغرض أو الكائن object على أن يأخذ عدة أشكال. الاستخدام الأكثر شيوعًا للـ Polymorphism في البرمجية غرضية التوجه يحدث عندما يُستخدم صف أب parent class للإشارة إلى صف يرث منه child class. أي غرض يمكنه اجتياز أكثر من اختبار علاقة IS-A يعتبر غرض متعدد الأشكال Polymorphism ونرى هذا بشكل واضح جدًا في بنية صفوف لغة جافا.تعني علاقة IS-A ان الصف الابن child class ينتمي للصف الذي يرث منه وكذلك الصف الذي يرث منه قد يرث من صف آخر وينتمي إليه أيضًا أو يرث من صفين ينتمي لهما معًا (نجد هذا بشكل واضح في لغة جافا بعلاقة الـ interface و الـ class).مثال من الواقع يُعتبر الغزال حيوان عاشب أي أنه ينتمي إلى الحيوانات العاشبة وكذلك يعتبر من فصيلة الحيوانات بشكل عام سواء أكانت عاشبة أم لاحمة.. الخ. إذا أسقطنا هذا المثال على البرمجة نجد:public interface Vegetarian{} public class Animal{} public class Deer extends Animal implements Vegetarian{}A Deer IS-A AnimalA Deer IS-A VegetarianA Deer IS-A Deerمثال آخر على تعدد الأشكال Polymorphism تخيل معي الأشكال التالية: (مستطيل، مربع، مثلث، شكل سداسي..الخ) أليست تنتمي إلى فئة واحدة وهي المضلعات؟ أي أن جميع هذه الأشكال هي مضلع وتختلف بعدد أضلاعها.إذًا يمكننا إنشاء صف polygon ونجعل الصفوف التي تحدد الأشكال ترث منه ومن ثم نستخدم المرجع reference من الصف polygon لإنشاء غرض object من أي نوع من تلك الأشكال:Polygon p = new Rectangle(); or Polygon p = new Triangle() ....ماذا يعني تعدد الأشكال Polymorphism ولم يستخدم؟ 1 اقتباس
-2 ROXAN MUSLEM نشر 10 يونيو 2018 أرسل تقرير نشر 10 يونيو 2018 لم افهم بالضبط ماذا تعنيه مسالة تعدد الاوجه اقتباس
السؤال
عامر بيرادي
أقرأ منذ فترة عن البرمجة غرضية التوجه OOP ومفاهيمها ومر معي مفهوم تعدد الأشكال Polymorphism ومازال المفهوم لدي غير واضح ولا اعلم متى يجب استخدامه ولماذا؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.