تخطَّ إلى المحتوى

super

الإشارة super super

super تشير للصنف الأب — للوصول لأعضائه أو استدعاء بانيه في المشتق.

super في Java تشير للصف الأصل (parent). super.field للوصول لحقل أب مشترك بين المشتق والأصل (عندما يكون مخفيًا). super() لاستدعاء الباني الأصل في باني المشتق. super.method() لاستدعاء نسخة الأصل من الدالة عند إعادة تعريفها.

الصياغة

super();
super(args);
super.method();
super.field;

📄 مثال

class Animal {
    String name;
    Animal(String name) {
        this.name = name;
    }
    void speak() {
        System.out.println(name + " يصدر صوتًا");
    }
}

class Dog extends Animal {
    Dog(String name) {
        super(name);  // يُستدعى أولًا
    }

    @Override
    void speak() {
        super.speak();  // ينادي نسخة الأصل أولًا
        System.out.println("... وينبح!");
    }
}

أهم النقاط

العنصرالوظيفة
super()استدعاء باني الصنف الأصل — يجب أن يكون أول سطر في الباني
super.method()استدعاء نسخة الأصل من الدالة عند إعادة تعريفها
super.fieldالوصول لحقل في الصنف الأصل مخفيًا في المشتق

💡 نصائح عملية

  • super() مطلوب في الباني المشتق إذا الأصل لا يملك باني افتراضي
  • استخدم super.method() عند إعادة التعريف لت添える سلوك الأصل بدلاً من استبداله

⚠️ أخطاء شائعة

  • nxing super() و this() معاً في نفس الباني — خطأ ترجمة
  • nxing super() في الباني — لا يُستدعى تلقائيًا إذا نسيته والالأصل بلا باني افتراضي

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار JAVA الكامل بالعربي.