اذهب إلى المحتوى

السؤال

Recommended Posts

  • 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

      }
}

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...