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 الكامل بالعربي.