الصورتان توضحان برنامجًا بلغة ++C يستخدم مفهوم الوراثة، وتحديدًا يُقصد به (وفق التسمية في الصورة) الوراثة المتعددة، لكن عمليًا ما نراه في الكود هو:
---
الوراثة أحادية (Single Inheritance) من نفس الفئة shape:
الفئة shape هي الفئة الأساسية (Base Class)، تحتوي على:
float l, w, h;
الفئتان rect (مستطيل) و tri (مثلث) ترثان من shape باستخدام:
class rect : public shape { ... }
class tri : public shape { ... }
---
شرح الكود:
الفئة shape:
class shape {
public:
float l, w, h; // الطول والعرض والارتفاع
};
الفئة rect (مستطيل):
class rect : public shape {
public:
float area() {
return l * w; // مساحة المستطيل = الطول × العرض
}
};
الفئة tri (مثلث):
class tri : public shape {
public:
float area() {
return 0.5 * w * h; // مساحة المثلث = ½ × العرض × الارتفاع
}
};