Inheritance أو التوريث

تعريفه: هو القدرة على إنشاء Class من كلاس موجود مسبقاً عن طريق إستدعائه.

Ability of a new class to be created, from an existing class by extending it, is called inheritance



الهدف منه:  إعادة إستخدام الكود Reusing of Code

فى Inheritance نوعين من Classes.

  1.  Parent Class أو Super Class وهو الكلاس الأب الذى يتم إنشقاق منه كلاس الإبن.
  2.  Child Class أو Sub Class وهو الكلاس الإبن المنشق من الأب.


                   
يوجد علاقة بين Sub class و Super Class

وهى علاقه is a Relationship, بمعنى أن Male Is a Human

وهناك علاقه أخرى لكنها ليست علاقه توريث وهى Has a Relationship سوف نتحدث عنها فى وقتها.

سؤال فرضا أنى عملت كلاس ولا أريد أحد أن يعمل له توريث ما الحل؟؟

-->
الحل هو إستخدام Key Word إسمها Sealed قبل ال Class

Sealed Class Human
}
              any code
  }

لا يمكن لكلاس أن يورث أكثر من كلاس لماذا؟؟

لو فرضنا أن هناك ثلاث كلاسات Class A و Class B و Class C و كلاس B ورث من  A وكلاس C ورث من A إلى الأن لا يوجد مشكله المشكله لو كلاس C ورث من B هنا هيحدث خطأ بسبب Methods Duplicated هذا الخطأ يسمى Diamond Problem






    class A
    {
       
    }
    class B : A        //B inherit from A - OK
    {
      
    }
 class c : A        //C inherit from A - OK
    {
       
    }
    class c : B        // C inherit from B - Diamond Problem
    {
       
    }
       
<<<< الدرس السابق                                                                     الدرس التالى>>>>

0 التعليقات

إرسال تعليق