الرئيسيةعريقبحث

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


في البرمجة كائنية التوجه، الوراثة (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. 489. صفحات 60–90. doi:10.1007/BFb0019440.  . مؤرشف من الأصل ( كتاب إلكتروني PDF ) في 16 ديسمبر 2019.
  2. Dr. K. R. Venugopal, Rajkumar Buyya (2013). Mastering C++. Tata McGrawhill Education Private Limited. صفحة 609.  .
  3. Holub, Allen (1 August 2003). "Why extends is evil". مؤرشف من الأصل في 19 يوليو 201810 مارس 2015.


موسوعات ذات صلة :