التحميل الزائد للطريقة ، والمعروف أيضًا باسم التحميل الزائد للدالة أو تعدد أشكال الوقت التجميعي ، هو مفهوم لوجود طريقتين أو أكثر بنفس الاسم لكن مع توقيع مختلف في نفس النطاق. هناك العديد من لغات البرمجة التي تدعم هذه الميزة: Ada و C ++ و C # و D و Java.
مثال على التحميل الزائد للطريقة في C #
class OverloadShapes {float Polygon (int radius، float pi) {float circleArea = pi * radius * radius؛ } int Polygon (طول int int ، int int) {int rectangleArea = length * width؛ } Int Polygon (الجانب المضمن) {int squareArea = side * side؛ }}1 2 3 4 5 6 7 8 9 10 11 12 13 14 | class OverloadShapes {float Polygon (int radius، float pi) {float circleArea = pi * radius * radius؛ } int Polygon (طول int int ، int int) {int rectangleArea = length * width؛ } Int Polygon (الجانب المضمن) {int squareArea = side * side؛ }} |
كما هو موضح في المثال أعلاه ، فإن طريقة "المضلع" يتم تحميلها 3 مرات بتوقيع أسلوب مختلف ، أي أن نوع أو عدد المعلمات مختلفان.
طريقة تجاوز
إن تجاوز الأسلوب ، والمعروف أيضًا باسم تجاوز الوظيفة أو تعدد أشكال وقت التشغيل ، هو ميزة OOP التي تسمح للفئة الفرعية بتزويد التطبيق الخاص بها بالطريقة المحددة في الفئة الرئيسية. يتجاوز تطبيق الفئة الفرعية تعريف الطريقة في الفئة الأساسية ، شريطة أن يكون للأسلوب الموجود في الفئة الفرعية نفس الاسم والتوقيع ونوع الإرجاع.
مثال على تجاوز الأسلوب في C #
class Source1 {public void draw () {Console.Writeline ("I am in class Source1")؛ }} فئة Source2 يمتد Source1 {public void draw () {Console.Writeline ("I am in class Source2")؛ }}1 2 3 4 5 6 7 8 9 10 | class11 {public void draw () {Console. Writeline ("أنا في الفصل المصدر 1")؛ }} Class2 يوسع Source1 {public void draw () {Console. Writeline ("أنا في الفصل Source2") ؛ }} |
هنا ، يتجاوز أسلوب الرسم في فئة Source2 أسلوب الرسم المعرّفة في الفئة Source1.
الفرق بين التحميل الزائد للطريقة وطريقة التغلب عليها
- في أساليب التحميل الزائد يجب أن يكون لها توقيع مختلف. في الطريقة ، يجب أن يكون لديك أساليب overading نفس التوقيع.
- الوظيفة التحميل الزائد هو "إضافة" أو "تمديد" أكثر لسلوك الطريقة. تخطى وظيفة هو تماما "تغيير" أو "إعادة تعريف" سلوك طريقة.
- يستخدم أسلوب التحميل الزائد لتحقيق تعدد أشكال الوقت. يتم استخدام تجاوز الأسلوب لتحقيق تعدد الأشكال وقت التشغيل.
- في دالة / دالة التحميل الزائد ، يعرف المترجم الكائن الذي تم تعيينه إلى أي فئة في وقت التجميع ، ولكن في طريقة تجاوز هذه المعلومات لا يعرف حتى وقت التشغيل.
- يحدث التحميل الزائد للوظيفة في نفس الفصل بينما يحدث التجاوز في فئة مشتقة من فئة أساسية.