الوحدة الرابعةعشر:::::من الدروس

محتويات الوحدة
 
الوراثة
مثال
 
 
 
 
 
 
 
وحدات اخرى
 
  الوحدة الأولى
  الوحدة الثانية
  الوحدة الثالثة
  الوحدة الرابعة
  الوحدة الخامسة
  الوحدة السادسة
  الوحدة السابعة
  الوحدة الثامنة
  الوحدة التاسعة
  الوحدة العاشرة
  الوحدة الحادية عشر
  الوحدة الثـانية عشر
  الوحدة الثالثة عشر
  الوحدة الرابعة عشر
 

 مواقع أخرى

 

الأخبار

 
  الجزيرة
  العربية

  BBC عربي

  CNN عربي

 

الصحف

 

  الحياة
  الوطن
  القدس العربي
  الشرق الأوسط

 

 الجامعات

 
  جامعة أم القرى
  جامعة الملك فهد

  جامعة الملك سعود

  جامعة الملك عبد العزيز  

 

الرياضة

 
  شبكة الزعيم
  منتديات مدريدي

 

 

 
 


الوحدة الرابعة عشر

   

الــــوراثـة

Inheritance

 

مفهوم الوراثة في (  oop) يعني إمكانية وراثة صنف ما لمواصفات وخصائص آخر وبناءاً على ذلك فإنه يمكن تحديد مفهومين جديدين هما :

1.    الصنف القاعدة ( الأساس )  Base class

       وهو الصنف الذي يحوي البيانات و الوظائف المراد توريثها إلى صنف آخر ..

[ الصنف الموروث من قبل صنف آخر ]

2.    الصنف المشتق Derived class :

وهو الصنف الوارث لصفات  صنف القاعدة .

 

 ملاحظة :-

 

عندما يرث الصنف المشتق صنف القاعدة  فإن

كل خصائص ووظائف صنف القاعدة تكون

متاحة للصنف المشتق إضافة لذلك يمكن للصنف

المشتق تعريف خصائص ووظائف جديدة .

أنواع الوراثة :

نوع الوراثة يحدد درجة الوصول للبيانات (المتغيرات) والوظائف (الدوال) في الصنف  المشتق .

 وتوجد ثلاثة أنواع :

1) الوراثة الخاصة Private inheritance:عندما يرث صنف مشتق القاعدة وكان نوع الوراثة "خاص Private " فإن كل خصائص ووظائف صنف القاعدة ستصبح خاصة في الصنف المشتق .

 

2)  الوارثة المحميةProfited inheritance : في هذا النوع من الوراثة ستصبح بيانات ووظائف صنف القاعدة محمية في الصنف المشتق .

 

3) الوراثة العامة Public inheritance : عندما يكون نوع الوراثة عام فإنه سوف يتم توزيع البيانات و الوظائف كالآتي :-

 

 أ‌- المحمي في صنف القاعدة يصبح محمي في الصنف المشتق

ب‌- العام في صنف القاعدة يصبح عام في الصنف المشتق .

جدول يوضح تفاصيل الوراثة :

نوع الوراثة

نظم البيانات

خلف القاعدة

Private

Perfected Public
Private x x x
Perfected Private Perfected Perfected
Public Private Perfected Public

لاحظ أن النوع Private  لا يورث أبداً  أنما الأنواع التي تورث هي Perfected و Public فقط .

الصيغة العامة للوراثة

Syntax

 القاعدة                

class           base

{

_____

_____

_____

        المشتق                  

Class            derived

{

 

 

      }

ولجعل الصنف المشتق Derived يرث من  القاعدة base

نكتب الآتي :-

 Class   derived     = < inheritance type >

                                 نوع الوراثة

{

      ____

      ____

}

 
 

 أعلى

 

 

   

مثال :-

 // base class

  class     B

{

Int ;

 Public :

Set _ i ( int n ) ;

int   get _ i (    ) ;

}          

// derived class

 

class  D : Public  B

{         

Int  j ;

Public :

Set _ j ( int   n ) ;

int   mul (      ) ;                         

ملاحظة:-

1 -class D  =  Public B          

تعنى أن الصنف D يرث جميع صفات الصنف الموروثB.

والآن نكتب البرنامج بصورة متكاملة

    # Include  < iostream.h >

    # Include  < conio.h >

// base class

class base

{

  Int ;     

Public :

 Set _ i ( int n ) ;

 Int get_i ( ) ;

} ;

// derived class

Class derived:public base

{

Int j;

Public:

Set_j (int n) ;

Int mul ( );

};

// value of I in base class

base ::set_i(int n)

{

i=n;

}

// return value of i to base class

int  base::get_i( )

          {

      return i ;

          }

          // value of i in derived class

derived::set_j(int n)

{

 j = n ;

// return i from base class and j

// from drived class

int derived::mul ( )

{

  return j * get_i( );

main ( )

      derived ob;

 int i,j;

 caut<< "enter i and j \n ";

          cin>>i>>j;

ob_set_i(i);

ob_set_j(j);

caut<<ob.mul( );

getch( );

}

 

 
  << الوحدة السابقة

 أعلى

   

                                                             

 
   
 

جميع الحقوق محفوظة © 2006