لما بالمقابلة يسألوني عن معنى ال polymorphism ... شو ممكن اشرحه وعلاقته بال sup class وال sub class
بدي حدا يشرحلي ال override وال overload
وشكرا...
بالنسبة للسؤال الأول، يُشير مصطلح Polymorphism التعددية في عالم البرمجة إلى القدرة على استخدام كائن من نوع واحد لتنفيذ سلوك مختلف بناءً على النوع الفعلي للكائن. بمعنى آخر، يمكن لكائن واحد أن يتصرف بشكل مختلف في سياقات مختلفة.
أما بالنسبة للأسئلة الأخرى،
Override يشير إلى استبدال طريقة (Method) موجودة في الصنف الأساسي (الأب) في صنف مشتق (الابن). بمعنى آخر، يتم تعديل تنفيذ الطريقة في الصنف المشتق بحيث يتم استخدام تعريف جديد للطريقة بدلاً من التعريف الأصلي في الصنف الأساسي. يُستخدم هذا التجاوز لتعديل سلوك الطرق الموجودة بالفعل وفقًا لاحتياجات الصنف المشتق.
Overload يشير إلى إنشاء طرق (Methods) بنفس الاسم في نفس الصنف، ولكن مع قائمة متغيرات (Parameters) مختلفة. بمعنى آخر، يتم استخدام نفس اسم الطريقة لتنفيذ سلوك مختلف اعتمادًا على المتغيرات التي يتم تمريرها إلى الطريقة. يُستخدم عندما يكون لديك سلوك مختلف يتطلب نفس العملية أو الفعل ولكن مع متغيرات مختلفة.
يمكنك الاطلاع أيضا على هذين الرابطين من أكاديمية حسوب يشرح الأمر بالتفصيل
التعليقات