Matakuliah Tahun : T0456 / Algoritma dan Metode Object Oriented Programming : 2007 Inheritance Pertemuan 21 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 Derived Class Based Class A Derived Class (also Based Class B) Derived Class Bina Nusantara Based Class Derived 1 Derived 2 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; } Kendaraan Based class Class Mobil: public Kendaraan{ Mobil(){ roda=4; //mendapat warisan int roda } }; Derived class Bina Nusantara Jenis akses Inheritance Mobil 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. – Semua member protected dari based class tetap 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% Bina Nusantara PelangganBiasa Saldo = 0 Tambah Kurang disc = 0% Penerapan Inheritance Case Time Zone, dengan inheritance Pelanggan long Saldo Pelanggan Saldo = 0 Tambah PelangganVIP Kurang disc = 10% Bina Nusantara PelangganBiasa Kurang disc = 0% 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 --(){ count -- ; return Counter( count ) ; } }; void main(){ CountDn c1; cout << “ \nc1 = “ < c1.get_count(); c1 -- ; c1 -- ; cout << “ \nc1 = “ < c1.get_count(); } Bina Nusantara Diskusi dan Tanya Jawab Latihan soal 17 Bina Nusantara
© Copyright 2024 Paperzz