08-10-12, 06:10 PM
[COLOR="#FF0000"] Inheritance :
[/COLOR]
أو الوراثة ، ويقصد بها عمل نسخة جديدة من الكلاس تحتوي على نفس خصائصه من اجل تطويرها أو تعديل بعض الخصائص ، لنفترض مثلاً ان لدينا كلاس (سيارة) يحتوي على اسم السيارة وتاريخ صنعها مثلاً .
والآن نريد القيام بعمل كلاس للسيارات ال BMW مثلاً ، في هذه الحالة من الخطأ ان نقوم بعمل كلاس منفصل لها ، ولكننا نستطيع اشتقاق كلاس جديد من الكلاس Car مع اضافة خاصية isSport للكلاس المسمى BMW ، الهدف من ذلك اننا سنجد خصائص مشتركة بين ال Car و ال BMW ، ايضاً سنضطر يوماً لاضافة كلاس لل GMC والذي سيحتوي بدوره على بيانات مشتركة .
السبب الآخر لو قمنا باضافة عنصر جديد مثل countofdoors لكل السيارات ، فهل سنقوم بالتعديل في جميع الكلاسات ، في حالة قمنا بعمل اشتقاق من الكلاس Car فإننا نستطيع التعديل فيه فقط لتطبيق التعديلات .
ربما لا تظهر الأهمية في الكلاسات الصغيرة ولكن تستطيع تخيل حجم الفائدة في حالة وجود كم كبير من البيانات .
يتم تعريف العلاقة Inheritance باسم is a ، حيث ان BMW is a car ، ايضاً في حالة وجود كلاس للاشكال وكلاس آخر للدائرة مثلاً فإن Circle is a shape .
هناك نوع آخر من العلاقات بين ال Classes وهي علاقة has a وتسمى باسم aggregation ، في هذه الحالة يكون الكلاس الثاني محتوي على الكلاس الأول ، مثلاً لو كان لدينا كلاس من اجل عجلات السيارة باسم Wheels ، ستكون Car has a wheel .
[/COLOR]
أو الوراثة ، ويقصد بها عمل نسخة جديدة من الكلاس تحتوي على نفس خصائصه من اجل تطويرها أو تعديل بعض الخصائص ، لنفترض مثلاً ان لدينا كلاس (سيارة) يحتوي على اسم السيارة وتاريخ صنعها مثلاً .
والآن نريد القيام بعمل كلاس للسيارات ال BMW مثلاً ، في هذه الحالة من الخطأ ان نقوم بعمل كلاس منفصل لها ، ولكننا نستطيع اشتقاق كلاس جديد من الكلاس Car مع اضافة خاصية isSport للكلاس المسمى BMW ، الهدف من ذلك اننا سنجد خصائص مشتركة بين ال Car و ال BMW ، ايضاً سنضطر يوماً لاضافة كلاس لل GMC والذي سيحتوي بدوره على بيانات مشتركة .
السبب الآخر لو قمنا باضافة عنصر جديد مثل countofdoors لكل السيارات ، فهل سنقوم بالتعديل في جميع الكلاسات ، في حالة قمنا بعمل اشتقاق من الكلاس Car فإننا نستطيع التعديل فيه فقط لتطبيق التعديلات .
ربما لا تظهر الأهمية في الكلاسات الصغيرة ولكن تستطيع تخيل حجم الفائدة في حالة وجود كم كبير من البيانات .
يتم تعريف العلاقة Inheritance باسم is a ، حيث ان BMW is a car ، ايضاً في حالة وجود كلاس للاشكال وكلاس آخر للدائرة مثلاً فإن Circle is a shape .
هناك نوع آخر من العلاقات بين ال Classes وهي علاقة has a وتسمى باسم aggregation ، في هذه الحالة يكون الكلاس الثاني محتوي على الكلاس الأول ، مثلاً لو كان لدينا كلاس من اجل عجلات السيارة باسم Wheels ، ستكون Car has a wheel .
