أهم مفهوم في oop، الوراثة (inheritance) لان حرفيًا ما في كلاس راح نسويه الا مفهوم الوراثة مطبق عليه
الفكرة من الوراثة احيانًا ونحنا نبني برنامج بيكون هدفنا نقلل من كتابة الكود والاسطر ولا نكرره كل مرة (Reusability)، لنفترض عندنا نظام لشركة معينة، وعندنا اكثر من موظف بمختلف المجالات مثلًا developer، HR، marketing، لما اسوي ال Attributes بنلاحظ فيه صفات مشتركة مثل (الاسم, الايميل, الجوال, القسم, الادرس...) وغيرها من المعلومات اللي لازم تكون عند اي موظف (employee).
طيب انا هنا ليش ما اسوي Attributes مشتركة بينهم كلهم؟ بدلًا من اعيد كتابة Attributes حقت كل كلاس؟ هنا يجي دور الوراثة توفر علي اني ارجع اكتب Attributes، كيف أقدر؟ بكل بساطة اجمع كل ال Attributes اللي أحتاجهم تكون مشتركة في كل الكلاسات واحطهم في كلاس عام واحد بنسميه (employee) لان لو نلاحظة في النهاية هم كلهم موظفين، واي كلاس يحتاج هذه Attributes علطول عن الطريق الوراثة يقدر يستفيد منها، هنا انا حققت (Reusability) بدلا من أعيد كتابة الكود مرة ثانية وفرت على نفسي أسطر، ممكن ما نشوف ان الوراثة تساعدنا مرة خصوصًا كمثال بسيط كهذا لكن لما برنامجك يكبر بتشوف كيف أنها توفر عليك الكثير.
ALT inheritance