• 0

ماذا تعني Over-Riding و Over-Loading في جافا؟

لاحظت استخدام Over-Riding و Over-Loading في التعامل مع التوابع ماذا يعني عمل Over-Riding أو Over-Loading للتابع وما هو فائدته؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

يعتبر مفهوما Overriding و Overloading من المفاهيم الهامة جدًا في البرمجة غرضية التوجه OOP.

Overriding: هو نوع من الدوال أو التوابع تحدث أو تُنشأ في صف class عندما يرث من صف آخر، حيث يقوم التابع Overriding باستبدال التابع الموروث من الصف الأساسي وتنفيذ سلوك آخر مثال:

public class Car {
public static void main (String [] args) {
Car a = new Car();
Car b = new Ferrari(); //Car ref, but a Ferrari object
a.start(); // Runs the Car version of start()
b.start(); // Runs the Ferrari version of start()
}
}
class Car {
public void start() {
System.out.println("This is a Generic start to any Car");
}
}
class Ferrari extends Car {
public void start() {
System.out.println("Lets start the Ferrari and go out for a cool Party.");
}
}

أما Overriding فهو عبارة عن عملية تقوم بتعريف عدة توابع methods بنفس الاسم ولكن بمعاملات parameters مختلفة. يمكن عمل Overriding لتابع إما بتغيير عدد المعاملات (number of arguments) أو نوعها (Data Type) مثال:

class CalculateArea{
      void Area(int length){System.out.println(length*2);}
      void Area(int length , int width){System.out.println(length*width);}

      public static void main(String args[]){
      CalculateArea obj=new CalculateArea();
      obj.Area(10);   // Area of a Square
      obj.Area(20,20);  // Area of a Rectangle

      }
}
1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن