وراثة (حوسبة)

من ويكيبيديا، الموسوعة الحرة
(بالتحويل من وراثة (علوم حاسوب))
اذهب إلى التنقل اذهب إلى البحث

في البرمجة كائنية التوجه، الوراثة (بالإنجليزية: Inheritance) خاصية أساسية في اللغات البرمجية كائنية التوجه، تتمثل في إمكانية بناء صنف (class) على أساس صنف آخر تم بناؤه سابقا (يسمى الصنف العلوي، الأب، أو الأساس) أو أكثر، بحيث "يرث" الصنف الجديد (المشتق، الفرعي) كل خصائص و سلوكيات الصنف (الأصناف) الأم، وبحيث لا يبقى على المبرمج سوى تعريف الخصائص و السلوكيات الإضافية الخاصة بالصنف الفرعي دون تلك المشتركة مع الصنف (الأصناف) الأساس.[1][2][3] الوراثة بالإمكانات التي توفرها، آلية لتنظيم العمل وتسهيله عبر إتاحة قابلية إعادة استخدام الشيفرة البرمجية.

أصل الكلمة[عدل]

كلمة "وراثة" مأخوذة من المفهوم الحيوي، حيث يأخذ الأبناء صفاتهم الحيوية (خارجية كانت أم داخلية) من آبائهم.

مثال[عدل]

لنفترض أننا أردنا بناء شيفرة برمجية تقوم بحساب مساحات بعض الأشكال الهندسية. نقوم هنا ببناء صنف (class) نسميه مثلا "أشكال هندسية"، نعرف فيه عددا من الخصائص (properties) والوظائف (methods) المشتركة بين الأشكال الهندسية، الاسم مثلا خاصية مشتركة بين جميع الأشكال الهندسية، فلكل شكل هندسي اسم. بعد إتمام بناء هذا الصنف نقوم ببناء أصناف جديدة تقوم بواراثة صفاتها من صنف "أشكال هندسية". بهذه الطريقة، لا حاجة لنا بتعريف الخصائص والدوال المشتركة (كخاصية الإسم) ثانية في هذه الأصناف الجديدة، بل نكتفي بتعريف الخصائص والدوال الخاصة بتلك الأصناف فحسب.

مراجع[عدل]

  1. ^ America، Pierre (1991). Designing an object-oriented programming language with behavioural subtyping (PDF). REX School/Workshop on the Foundations of Object-Oriented Languages. Lecture Notes in Computer Science. 489. صفحات 60–90. ISBN 978-3-540-53931-5. doi:10.1007/BFb0019440. 
  2. ^ Dr. K. R. Venugopal, Rajkumar Buyya (2013). Mastering C++. Tata McGrawhill Education Private Limited. صفحة 609. ISBN 9781259029943. 
  3. ^ Holub، Allen (1 August 2003). "Why extends is evil". اطلع عليه بتاريخ 10 مارس 2015. 


2D-index-binair.png
هذه بذرة مقالة عن علوم الحاسب بحاجة للتوسيع. شارك في تحريرها.