الصورة تُظهر برنامجًا بلغة ++C يشرح مفهوم الوراثة الهرمية (Hierarchical Inheritance)، وهو أحد أنواع الوراثة في البرمجة الكائنية (OOP).
---
? نبذة عن البرنامج:
الفكرة الرئيسية:
البرنامج يُحاكي علاقة عائلية بين ثلاث طبقات:
1. grandpa (الجد)
2. father (الأب)
3. son (الابن)
حيث:
father يرث من grandpa.
son يرث من father.
> أي أن son يرث بشكل غير مباشر من grandpa أيضًا.
---
? شرح الكود:
class grandpa {
public:
void wealth() {
cout << "I have 20000\n";
}
};
هذا هو الجد، ويحتوي على دالة wealth() تطبع مقدار الثروة.
class father : public grandpa {
public:
void gg() {
cout << "I'm your father";
}
};
هذا هو الأب، يرث من grandpa ويحتوي على دالة gg() تطبع أنه الأب.
class son : public father {
};
هذا هو الابن، يرث من father وبالتالي يرث كل وظائف الأب والجد معًا.
---
? الدالة الرئيسية:
void main() {
clrscr();
son n;
n.wealth(); // من grandpa
n.gg(); // من father
getch();
}
يتم إنشاء كائن من الفئة son.
الكائن n يستخدم دوال الجد والأب لأن son يرثهما بالتسلسل.
---
النتيجة عند التشغيل:
I have 20000
I'm your father
---
مفهوم الوراثة الهرمية (Multilevel Inheritance):
هو عندما ترث فئة من فئة، وهذه الفئة ترث من فئة أخرى. مثل:
grandpa → father → son