Inheritance Pertemuan 21 Matakuliah : T0456 / Algoritma dan Metode Object Oriented Programming Tahun : 2007 Inheritance Pertemuan 21
Pada akhir pertemuan ini, diharapkan: Learning Outcomes Pada akhir pertemuan ini, diharapkan: Mahasiswa dapat menjelaskan konsep inheritance dalam pembuatan program. Buku Referensi: C++ - How to program, Deitel & Deitel, Prentice Hall, 2001. Websites: http://www.deitel.com 3 Bina Nusantara
Outline Materi Konsep Inheritance. Class Hierarchy Diagram Deklarasi Derived Class. Jenis Akses Inheritance. 4 Bina Nusantara
Inheritance Adalah proses pembentukan satu klas baru (derived class) dari klas lainnya (based class) Untuk tujuan reusability Derived class mendapat warisan semua kemampuan dari yang dimiliki oleh based class, baik data members dan methods yang dideklarasikan dengan akses public atau protected. Derived class dan based class saling berhubungan membentuk sebuah Hierarchy. Ada yang single dan ada yang multiple Inheritance Bina Nusantara
Inheritance cont… Pada perancangan hirarki class, based class merupakan class yang mempunyai sifat (property) yang paling umum atau yang harus dimiliki oleh seluruh class turunannya. Dengan adanya Inheritance, maka dimungkinkan untuk reusability, sehingga tidak perlu membuat dari baru Bina Nusantara
Class Hierarchy Diagram (Single Inheritance) Based Class Based Class A Based Class Derived Class Derived Class (also Based Class B) Derived 1 Derived 2 Derived Class Bina Nusantara
Based Class and Derived Class Member based class dapat diakses oleh member derived class apabila jenis akses dari member based class adalah public atau protected. Member tersebut dapat diakses seolah-olah dideklarasikan dalam derived class. Member protected tetap tidak dapat diakses class lain yang bukan turunannya. Bina Nusantara
Deklarasi Derived Class class Kendaraan{ protected: int roda; } Class Mobil: public Kendaraan{ Mobil(){ roda=4; //mendapat warisan int roda }; Kendaraan Based class Jenis akses Inheritance Mobil Derived class Bina Nusantara
Jenis Akses Inheritance Public Semua member public dari based class tetap menjadi public di dalam derived class. Semua member protected dari based class tetap menjadi protected di dalam derived class. Protected Semua member public dari based class menjadi protected di dalam derived class. Private Semua member public dari based class menjadi private di dalam derived class. Semua member protected dari based class menjadi private di dalam derived class. Bina Nusantara
Jenis Akses Inheritance Bina Nusantara
Penerapan Inheritance Case Time Zone, tanpa inheritance PelangganVIP PelangganBiasa long Saldo long Saldo PelangganVIP Saldo = 0 Tambah Kurang disc = 10% PelangganBiasa Saldo = 0 Tambah Kurang disc = 0% Bina Nusantara
Penerapan Inheritance Case Time Zone, dengan inheritance Pelanggan long Saldo Pelanggan Saldo = 0 Tambah PelangganVIP PelangganBiasa Kurang disc = 10% Kurang disc = 0% Bina Nusantara
Inheritance Dengan adanya Inheritance, maka dimungkinkan untuk reusability, sehingga tidak perlu membuat dari baru Code: class pelangganVIP: public pelanggan { -- class content -- }; Bina Nusantara
Contoh Program // program C++ dengan inheritance #include <constream.h> class Counter { protected : unsigned int count; public : Counter() { count = 0 ; } unsigned int get_count() { return count; } Counter operator ++ () { count++ ; return Counter( count ) ; } }; Bina Nusantara
class CountDn : public Counter { public : Counter operator --(){ return Counter( count ) ; } }; void main(){ CountDn c1; cout << “ \nc1 = “ < c1.get_count(); c1 -- ; Bina Nusantara
Diskusi dan Tanya Jawab Latihan soal 17 Bina Nusantara