extends
الوراثة extends
extends تجعل صنفًا يرث خصائص وسلوك صنف آخر — إعادة استخدام الكود وتجميع الأصناف المتقاربة.
الوراثة تُنشئ صنفًا مشتقًا (subclass) من صنف أساس (superclass). يرث المشتق كل الأعضاء العامة والحماية (وليس الخاصة) من الأصل. يمكنه إضافة أعضاء جديدة أو إعادة تعريف الدوال الافتراضية بـ override.
الصياغة
public class Child extends Parent {
// أعضاء إضافية
// إعادة تعريف الدوال بـ @Override
}📄 مثال
class Animal {
String name;
void speak() {
System.out.println(name + " يصدر صوتًا");
}
}
class Dog extends Animal {
void bark() {
System.out.println(name + " ينبح!");
}
@Override
void speak() {
System.out.println(name + " ينبح بصوت عالي");
}
}
Dog d = new Dog();
d.name = "ترير";
d.speak(); // ترير ينبح بصوت عاليأهم النقاط
| العنصر | الوظيفة |
|---|---|
| extends Parent | يرث الصنف من الأصل — وراثة لصنف واحد فقط في Java |
| super() | استدعاء الباني الأصل في الباني المشتق |
| @Override | يؤكد إعادة تعريف صحيحة لدالة الأصل |
| protected | أعضاء يمكن الوصول لها من الأصل والمشتق فقط |
💡 نصائح عملية
- استخدم @Override دائمًا عند إعادة تعريف — يكشف أخطاء التوقيع وقت الترجمة
- لا تُفرط في طبقات الوراثة — 2-3 مستويات كحد أقصى
⚠️ أخطاء شائعة
- nxing protected بالخطأ — protected تعني الوراثة فقط (أو نفس الباقة في Java)
- nxing super() في الباني المشتق — يجب أن تكون أول سطر
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار JAVA الكامل بالعربي.