Inheritance أو التوريث
تعريفه: هو القدرة على إنشاء Class من كلاس موجود مسبقاً عن طريق إستدعائه.
الهدف منه: إعادة إستخدام الكود Reusing of Code
فى Inheritance نوعين من Classes.
يوجد علاقة بين Sub class و Super Class
وهى علاقه is a Relationship, بمعنى أن Male Is a Human
وهناك علاقه أخرى لكنها ليست علاقه توريث وهى Has a Relationship سوف نتحدث عنها فى وقتها.
-->
الحل هو إستخدام Key Word إسمها Sealed قبل ال Class
تعريفه: هو القدرة على إنشاء Class من كلاس موجود مسبقاً عن طريق إستدعائه.
Ability of a new class to be created, from an existing class by extending it, is called inheritance
الهدف منه: إعادة إستخدام الكود Reusing of Code
فى Inheritance نوعين من Classes.
- Parent Class أو Super Class وهو الكلاس الأب الذى يتم إنشقاق منه كلاس الإبن.
- 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 c : A //C inherit from A - OK
{
}
class c : B // C inherit from B - Diamond Problem
{
}
0 التعليقات
إرسال تعليق