
الوراثة inheritance في Dart
تعرَّف الوراثة في dart بأنها العملية التي يرث فيها كلاس واحد خصائص كلاس آخر و هي مفيدة لأنه نستطيع من خلالها إنشاء كلاس جديد من كلاس سابق موجود.
نستفيد من الوراثه هي أن نختصر الكود فبدلاً من إعادة بناء الدالة مرة أُخرى إذا كانت الدالة موجودة في الكلاس الأب. نستطيع إعادة إستخدامها مرة أُخرى بدلاً من بناءها و إستهلاك الذاكرة و إطالة الكود بحيث يكون البرنامج منظم و اجمل. إذاً نحن قلنا بأن الكلاس الذي يرث إسمه الكلاس الإبن و الكلاس الذي يورّث إسمه الكلاس الأب.
الوراثة هي عنصر رئيسي في البرمجة الشيئية OOPS و بمساعدة الوراثة يمكن لكلاس واحد الإستفادة من جميع خصائص و خصائص كلاس آخر.
بشكل عام يوجد هناك كلاسين مطلوبان في الوراثة و هما:
- الكلاس الأب Parent : تُعرف الفئة التي ورثتها الفئة الأخرى باسم الفئة الأصلية. في بعض الأحيان ، نشير إليها أيضًا بالفئة الأساسية.
- الكلاس الإبن Child : تُعرف بالكلاسات التي ترث خصائص الكلاسات الأصلية الأب بالكلاسات الإبن أو الفرعية.
الشكل العام لوراثة كلاس يرث من كلاس آخر.
class Childclass extends ParentClass { ****** }
عندما تريد كلاسات الإبن أن ترث خصائص الكلاس الأب فإننا نستخدم الكلمة المحجوزة extends.
مثال
class Human{ void walk(){ print("Humans walk!"); } } class Person extends Human{ void speak(){ print("That person can speak"); } } void main(){ Person p = new Person(); p.speak(); p.walk(); }
في المثال أعلاه لدينا كلاسين وهما Human and Person , الكلاس Human هو الأب و الكلاس Person هو الابن وهو يرث المشي walk () من الكلاس Human.
عند تشغيل الكود
That person can speak Humans walk!