دروس جافا

جافا هوم جافا مقدمة ابدأ جافا بناء جملة جافا تعليقات جافا متغيرات جافا أنواع بيانات جافا جافا نوع الصب مشغلي جافا سلاسل جافا جافا الرياضيات جافا المنطقية جافا إذا ... آخر تبديل جافا جافا أثناء التكرار جافا للحلقة جافا بريك / متابعة جافا المصفوفات

طرق جافا

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

فئات جافا

جافا OOP فئات / كائنات جافا سمات فئة Java طرق فئة جافا منشئو جافا معدِّلات جافا تغليف جافا حزم جافا / API الوراثة جافا جافا تعدد الأشكال فئات جافا الداخلية جافا التجريد واجهة جافا جافا Enums مدخلات مستخدم جافا تاريخ جافا جافا ArrayList جافا لينكدليست جافا HashMap جافا هاشسيت جافا التكرار فئات Java Wrapper استثناءات Java جافا RegEx خيوط جافا جافا لامدا

معالجة ملفات جافا

ملفات جافا جافا إنشاء / كتابة الملفات ملفات قراءة جافا جافا حذف الملفات

جافا كيف

أضف عددين

مرجع جافا

كلمات جافا طرق سلسلة جافا طرق جافا للرياضيات

أمثلة جافا

أمثلة جافا مترجم جافا تمارين جافا مسابقة جافا شهادة جافا


الوراثة جافا


وراثة جافا (فئة فرعية وفئة عليا)

في Java ، من الممكن أن ترث السمات والطرق من فئة إلى أخرى. نقوم بتجميع "مفهوم الميراث" في فئتين:

  • الفئة الفرعية (الطفل) - الفئة التي ترث من فئة أخرى
  • الطبقة الفائقة (الأصل) - الطبقة الموروثة منها

لترث من فصل دراسي ، استخدم extends الكلمة الأساسية.

في المثال أدناه ، Carترث الفئة (فئة فرعية) السمات والطرق من Vehicleالفئة (الطبقة الفائقة):

مثال

class Vehicle {
  protected String brand = "Ford";        // Vehicle attribute
  public void honk() {                    // Vehicle method
    System.out.println("Tuut, tuut!");
  }
}

class Car extends Vehicle {
  private String modelName = "Mustang";    // Car attribute
  public static void main(String[] args) {

    // Create a myCar object
    Car myCar = new Car();

    // Call the honk() method (from the Vehicle class) on the myCar object
    myCar.honk();

    // Display the value of the brand attribute (from the Vehicle class) and the value of the modelName from the Car class
    System.out.println(myCar.brand + " " + myCar.modelName);
  }
}

هل لاحظت protectedالمعدل في السيارة؟

قمنا بتعيين سمة العلامة التجارية في السيارة لمعدِّل protected وصول . إذا تم الضبط على private، فلن تتمكن فئة السيارة من الوصول إليها.

لماذا ومتى تستخدم "الميراث"؟

- إنها مفيدة لإعادة استخدام الكود: إعادة استخدام سمات وطرق فئة موجودة عند إنشاء فئة جديدة.

نصيحة: ألق نظرة أيضًا على الفصل التالي ، تعدد الأشكال ، والذي يستخدم طرقًا موروثة لأداء مهام مختلفة.


الكلمة النهائية

إذا كنت لا تريد أن ترث الفئات الأخرى من فصل دراسي ، فاستخدم finalالكلمة الأساسية:

إذا حاولت الوصول إلى finalفصل دراسي ، فسيقوم Java بإنشاء خطأ:

final class Vehicle {
  ...
}

class Car extends Vehicle {
  ...
}

سيكون الإخراج شيئًا كالتالي:

Main.java:9: error: cannot inherit from final Vehicle
class Main extends Vehicle {
                  ^
1 error)