Fransisca's Blog

blog buat tugas PBO..^^

inheritance

Diposting oleh sisqa

Inheritance adalah penurunan sifat, dengan tujuan reuseabiliyy dan extenability.

reuseability adalah dapat menggunakan kembali, karna memiliki karakteristik yang sama sehingga dapat menggunakna program yang telah ada untuk di gunakan dalam program yang baru.

extenability adalah kemampuan untuk mengembangkan class sebelumnya menjadi class yang baru.
oleh karena itu, maka terbentuklah base class (kelas induk) dan derived class (kelas turunan), dengan syarat construktor class turunan akan dibuat sesaat setelah construktor induk dibentuk.
dengan adanya base class dan derived class ini, maka sebuag hirarki class menjadi suatu hal yang penting, karna hirarki class akan menunjukan semua hubungan class class yang ada. hirarki class adalah hubungan antar class turunan dan class induknya.

Ada 2 jenis hubungan dalam hirarki class, yaitu :
1. single inheritance, dimana 1 induk class dapat membentuk 1 atau lebih class turunan, contoh :

2. multiple inheritance, dimana 1 atau lebih induk class dapat membentuk 1 atau lebih class turunan, contoh :


keterangan : dengan tanda panah menunjuk pada class induknya.

Syntax inheritance :

class nama_turunan : level_akses nama_induk
{ };
contoh :
class student
{
protected : int student_id;
};
class graduated_student : public student
{
protected : int majoring;
};

seluruh anggota class induk dapat diakses oleh class turunannya, jika tipenya public dan protected, isi dari protected sebuah class induk dapat diakses oleh class turunannya seperti dideklarasikan pada class turunannya sendiri. tapi fungsi lain tidak, sedanakan dengan tipe private tidak dapat diakses oleh fungsi manapun kecuali dirinya sendiri, namun public dapat diakses oleh semua fungsi dalam program tersebut.

berikut ini adalah tabel untuk melihat akses level dari setiap akses level class turunan :


Cara membaca tabel :
1. jika kita memiliki class turunan dengan akses level public, maka data pada class induk dengan akses public menjadi public, protected menjadi protected, private menjadi private.
2. jika kita memiliki class turunan dengan akses level protected, maka data pada class induk dengan level akses public menjadi protected, protected menjadi protected, private menjadi private.
3. jika kita memiliki class turunan dengan akses level private maka data pada class induk dengan level akses public menjadi private, protected menjadi private, private menjadi private.

0 komentar:

Posting Komentar