موصى به, 2024

اختيار المحرر

الفرق بين التحميل الزائد للطريقة و Overriding

طريقة الحمولة الزائدة
التحميل الزائد للطريقة ، والمعروف أيضًا باسم التحميل الزائد للدالة أو تعدد أشكال الوقت التجميعي ، هو مفهوم لوجود طريقتين أو أكثر بنفس الاسم لكن مع توقيع مختلف في نفس النطاق. هناك العديد من لغات البرمجة التي تدعم هذه الميزة: 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 14class 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 10class11 {public void draw () {Console. Writeline ("أنا في الفصل المصدر 1")؛ }} Class2 يوسع Source1 {public void draw () {Console. Writeline ("أنا في الفصل Source2") ؛ }}

هنا ، يتجاوز أسلوب الرسم في فئة Source2 أسلوب الرسم المعرّفة في الفئة Source1.

الفرق بين التحميل الزائد للطريقة وطريقة التغلب عليها

  1. في أساليب التحميل الزائد يجب أن يكون لها توقيع مختلف. في الطريقة ، يجب أن يكون لديك أساليب overading نفس التوقيع.
  2. الوظيفة التحميل الزائد هو "إضافة" أو "تمديد" أكثر لسلوك الطريقة. تخطى وظيفة هو تماما "تغيير" أو "إعادة تعريف" سلوك طريقة.
  3. يستخدم أسلوب التحميل الزائد لتحقيق تعدد أشكال الوقت. يتم استخدام تجاوز الأسلوب لتحقيق تعدد الأشكال وقت التشغيل.
  4. في دالة / دالة التحميل الزائد ، يعرف المترجم الكائن الذي تم تعيينه إلى أي فئة في وقت التجميع ، ولكن في طريقة تجاوز هذه المعلومات لا يعرف حتى وقت التشغيل.
  5. يحدث التحميل الزائد للوظيفة في نفس الفصل بينما يحدث التجاوز في فئة مشتقة من فئة أساسية.
Top