Sebagai manusia kita sebenarnya terbiasa untuk melihat objek yang berada disekitar kita tersusun secara hierarki berdasarkan class-nya masing-masing. Dari sini kemudian timbul suatu konsep tentang pewarisan yang merupakan suatu proses dimana suatu class diturunkan dari class lainnya sehingga ia mendapatkkan cirri atau sifat dari class tersebut. Perhatikan contoh hirarki berikut ini:
Dari hirarki diatas dapat dilihat bahwa, semakin kebawah, class akan semakin bersifat spesifik. Class mamalia memiliki seluruh sifat yang dimiliki oleh binatang, demikian halnya juga Anjing, kucing dan Monyet memiliki seluruh sifat yang diturunkan dari class mamalia. Dengan konsep ini, karakteristik yang dimiliki oleh class binatang cukup didefinisikan didefinisikan dalam class binatang saja. Class mamalia tidak perlu mendefinisikan ulang apa
yang telah dimiliki oleh class binatang, karena sebagai class turunannya, ia akan mendapatkan karakteristik dari class binatang secara otomatis. Demikian juga dengan class anjing, kucing dan monyet, hanya perlu mendefinisikan karakteristik yang spesifik dimiliki oleh class-nya masing-masing. Dengan memanfaatkan konsep pewarisan ini dalam pemrograman, maka hanya perlu mendefinisikan karakteristik yang lebih umum akan didapatkan dari class darimana ia diturunkan.
Kelas yang mewarisi sifat-sifat dari kelas lainya disebut dengan kelas turunan
(sub class).
Kelas yang mewariskan sifat-sifat kepada kelas lainnya disebut dengan kelas
induk ( super class).
Catatan : Konstruktor dan destruktor tidak ikut diwariskan.
1. Listing Program
#include
#include
class Basis
{
int alpha;
int bravo;
public:
void info_basis()
{ cout<<”Fungsi info_basis() dijalankan.” << endl;
}
};
class Turunan : public Basis
{
public:
void info_Turunan()
{ cout << “ Fungsi info_Turunan() dijalankan.”<< endl;
}
};
void main()
{
Turunan a;
a.info_Basis();
a.info_Turunan();
}
2. Listing Program
#include
#include
class Basis
{
protected:
int alpha;
int bravo;
public:
void info_basis()
{ cout<<”Fungsi info_basis() dijalankan.” << endl;
}
};
class Turunan : private Basis
{
public:
void inisialisasi( int a, int b)
{
alpha=a;
bravo=b;
}
void info_Turunan()
{ cout << “ Fungsi info_Turunan() dijalankan.”<< endl;
cout << “ alpha= ”<< alpha << endl;
cout << “ bravo=”<< bravo << endl;
}
};
void main()
{
Turunan a;
a.inisialisasi(2, 10);
a.info_Turunan();
}
Categories:
Pemrograman