وراثة (علوم حاسوب)

في البرمجة كائنية التوجه، الوراثة (بالإنجليزية: Inheritance) هي طريقة لتكوين أصناف Class جديدة باستخدام أصناف معرفة مسبقاً. الأصناف الجديدة والتي تعرف بالأصناف المشتقة Derived Class تأخذ (أو ترث) خصائص وأفعال الأصناف الموجودة مسبقا. تهدف الوراثة إلى المساعدة في إعادة استخدام الشيفرات الموجودة مسبقاً بدون تعديلات أو بتعديلات طفيفة.

أصل الكلمة

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

مثال

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


be-x-old:Спадкаваньне (праграмаваньне) bs:Računarsko nasljedstvo ca:Herència (programació) de:Vererbung (Programmierung) Inheritance (object-oriented programming)]] es:Herencia (informática) fa:وراثت (برنامه‌نویسی شی‌گرا) fi:Perintä (ohjelmointi) fr:Héritage (informatique) hi:वंशानुक्रम (कंप्यूटर विज्ञान) is:Erfðir (forritun) it:Ereditarietà (informatica) ja:継承 lt:Paveldėjimas (programavimas) ltg:Bērnaklase nl:Overerving (informatica) nn:Arv i programmering pl:Dziedziczenie (programowanie) pt:Herança (programação) ru:Наследование (программирование) simple:Inheritance (computer science) sv:Arv (programmering) ta:மரபியல்பு (கணினியியல்) tr:Kalıtım (programlama) uk:Успадкування (програмування) vi:Kế thừa (khoa học máy tính) zh:继承 (计算机科学)