وراثة (حوسبة)
في البرمجة كائنية التوجه، الوراثة (بالإنجليزية: Inheritance) خاصية أساسية في اللغات البرمجية كائنية التوجه، تتمثل في إمكانية بناء صنف (class) على أساس صنف آخر تم بناؤه سابقا (يسمى الصنف العلوي، الأب، أو الأساس) أو أكثر، بحيث "يرث" الصنف الجديد (المشتق، الفرعي) كل خصائص وسلوكيات الصنف (الأصناف) الأم، وبحيث لا يبقى على المبرمج سوى تعريف الخصائص والسلوكيات الإضافية الخاصة بالصنف الفرعي دون تلك المشتركة مع الصنف (الأصناف) الأساس.[1][2][3] الوراثة بالإمكانات التي توفرها، آلية لتنظيم العمل وتسهيله عبر إتاحة قابلية إعادة استخدام الشيفرة البرمجية.
أصل الكلمة
كلمة "وراثة" مأخوذة من المفهوم الحيوي، حيث يأخذ الأبناء صفاتهم الحيوية (خارجية كانت أم داخلية) من آبائهم.
مثال
لنفترض أننا أردنا بناء شيفرة برمجية تقوم بحساب مساحات بعض الأشكال الهندسية. نقوم هنا ببناء صنف (class) نسميه مثلا "أشكال هندسية"، نعرف فيه عددا من الخصائص (properties) والوظائف (methods) المشتركة بين الأشكال الهندسية، الاسم مثلا خاصية مشتركة بين جميع الأشكال الهندسية، فلكل شكل هندسي اسم. بعد إتمام بناء هذا الصنف نقوم ببناء أصناف جديدة تقوم بواراثة صفاتها من صنف "أشكال هندسية". بهذه الطريقة، لا حاجة لنا بتعريف الخصائص والدوال المشتركة (كخاصية الاسم) ثانية في هذه الأصناف الجديدة، بل نكتفي بتعريف الخصائص والدوال الخاصة بتلك الأصناف فحسب.
مراجع
- America, Pierre (1991). Designing an object-oriented programming language with behavioural subtyping (PDF). REX School/Workshop on the Foundations of Object-Oriented Languages. 489. صفحات 60–90. doi:10.1007/BFb0019440. ISBN 978-3-540-53931-5. مؤرشف من الأصل (PDF) في 16 ديسمبر 2019. الوسيط
|CitationClass=
تم تجاهله (مساعدة) - Dr. K. R. Venugopal, Rajkumar Buyya (2013). Mastering C++. Tata McGrawhill Education Private Limited. صفحة 609. ISBN 9781259029943. الوسيط
|CitationClass=
تم تجاهله (مساعدة) - Holub, Allen (1 August 2003). "Why extends is evil". مؤرشف من الأصل في 19 يوليو 2018. اطلع عليه بتاريخ 10 مارس 2015. الوسيط
|CitationClass=
تم تجاهله (مساعدة)
- بوابة برمجة الحاسوب