INHERITANCE PEWARISAN Pendahuluan n n Inheritance Pewarisan adalah

  • Slides: 17
Download presentation
INHERITANCE (PEWARISAN)

INHERITANCE (PEWARISAN)

Pendahuluan n n Inheritance (Pewarisan) adalah sifat dari suatu kelas yang dapat mewariskan anggota

Pendahuluan n n Inheritance (Pewarisan) adalah sifat dari suatu kelas yang dapat mewariskan anggota data maupun fungsi anggota ke kelas lain Kelas yang mewarisi sifat dari kelas lain disebut dengan kelas turunan (derived class) Kelas yang mewariskan sifat ke kelas lain disebut dengan kelas dasar (base class) Keuntungan dari inheritance adalah memungkinkan penggunaan kembali kode yang sudah teruji benar, sehingga tidak perlu membuat kode yang sama setiap kali membuat program baru

Penentu Pewarisan n Ada tiga macam penentu pewarisan: n Private n Protected n Public

Penentu Pewarisan n Ada tiga macam penentu pewarisan: n Private n Protected n Public

Penentu Pewarisan Private n n Sintaks: class Nama. Kelas. Turunan : Private Nama. Kelas.

Penentu Pewarisan Private n n Sintaks: class Nama. Kelas. Turunan : Private Nama. Kelas. Dasar atau class Nama. Kelas. Turunan : Nama. Kelas. Dasar Contoh: class Orang. Tua class Anak : Private Orang. Tua { { … … }; };

Penentu Pewarisan Private n n Sifat: - Semua anggota dan fungsi anggota yang bersifat

Penentu Pewarisan Private n n Sifat: - Semua anggota dan fungsi anggota yang bersifat public dan protected pada kelas dasar akan diwariskan ke kelas turunan dengan sifat private - Anggota dan fungsi anggota pada kelas dasar yang bersifat private tidak diwariskan - Konstruktor dan destruktor tidak diwariskan Contoh: 1. Pewarisan dengan penentu pewarisan private (iprivate. cpp)

Penentu Pewarisan Protected n n Sintaks: class Nama. Kelas. Turunan : Protected Nama. Kelas.

Penentu Pewarisan Protected n n Sintaks: class Nama. Kelas. Turunan : Protected Nama. Kelas. Dasar Contoh: class Orang. Tua { … }; class Anak : Portected Orang. Tua { … };

Penentu Pewarisan Protected n n Sifat: - Semua anggota dan fungsi anggota yang bersifat

Penentu Pewarisan Protected n n Sifat: - Semua anggota dan fungsi anggota yang bersifat public dan protected pada kelas dasar akan diwariskan ke kelas turunan dengan sifat protected - Anggota dan fungsi anggota pada kelas dasar yang bersifat private tidak diwariskan - Konstruktor dan destruktor tidak diwariskan Contoh: 2. Pewarisan dengan penentu pewarisan protected (iprotect. cpp)

Penentu Pewarisan Public n n Sintaks: class Nama. Kelas. Turunan : Public Nama. Kelas.

Penentu Pewarisan Public n n Sintaks: class Nama. Kelas. Turunan : Public Nama. Kelas. Dasar Contoh: class Orang. Tua { … }; class Anak : Public Orang. Tua { … };

Penentu Pewarisan Public n n Sifat: - Semua anggota dan fungsi anggota yang bersifat

Penentu Pewarisan Public n n Sifat: - Semua anggota dan fungsi anggota yang bersifat public dan protected pada kelas dasar akan diwariskan ke kelas turunan tanpa perubahan (protected diwariskan menjadi protected, public diwariskan menjadi public) - Anggota dan fungsi anggota pada kelas dasar yang bersifat private tidak diwariskan - Konstruktor dan destruktor tidak diwariskan Contoh: 3. Pewarisan dengan penentu pewarisan public (ipublic. cpp)

Rangkuman Pewarisan Penentu Akses di Kelas Dasar Penentu Akses Baru di Kelas Turunan private

Rangkuman Pewarisan Penentu Akses di Kelas Dasar Penentu Akses Baru di Kelas Turunan private tidak diwariskan protected private public private protected private tidak diwariskan protected public private tidak diwariskan protected public

Akses ke Anggota Data yang bersifat Private n Supaya bisa mengakses anggota data pada

Akses ke Anggota Data yang bersifat Private n Supaya bisa mengakses anggota data pada kelas dasar yang bersifat private, ada dua cara yang bisa dilakukan: 1. Mengubah penentu akses menjadi protected - Dengan mengubah penentu akses menjadi protected, maka anggota data bisa diakses dari kelas turunan - Digunakan jika anggota data dipakai dalam proses selanjutnya di kelas turunan 2. Memanggil konstruktor kelas dasar pada definisi konstruktor kelas turunan - Penentu akses di kelas dasar tetap private - Dipakai jika anggota data tidak dipakai pada proses selanjutnya di kelas turunan. Misal hanya dicetak melalui kelas dasar - Contoh: 4. Akses anggota data private lewat konstruktor (aksesprv. cpp)

Pewarisan Bertingkat n Pada pewarisan bertingkat, terdapat dua atau lebih kelas turunan

Pewarisan Bertingkat n Pada pewarisan bertingkat, terdapat dua atau lebih kelas turunan

Pewarisan Bertingkat n n n Dalam kasus nama fungsi anggota ketiga kelas sama, maka

Pewarisan Bertingkat n n n Dalam kasus nama fungsi anggota ketiga kelas sama, maka harus menggunakan operator resolusi lingkup (: : ) untuk menyatakan kepemilikan Contoh: Orang. Tua: : lihat() fungsi lihat() milik kelas Orang. Tua Contoh Program: 5. Pewarisan bertingkat dengan nama fungsi anggota berbeda (wrstgkt 1. cpp) 6. Pewarisan bertingkat dengan nama fungsi anggota sama (wrstgkt 2. cpp)

Pewarisan Berganda n n Dalam pewarisan berganda, sebuah kelas dapat mewarisi sifat lebih dari

Pewarisan Berganda n n Dalam pewarisan berganda, sebuah kelas dapat mewarisi sifat lebih dari satu kelas Contoh: Kelas Anak mewarisi sifat dari kelas Ayah dan kelas Ibu

Pewarisan Berganda n n n Dalam kasus nama fungsi anggota pada kedua kelas dasar

Pewarisan Berganda n n n Dalam kasus nama fungsi anggota pada kedua kelas dasar sama, maka untuk mengakses harus menggunakan operator resolusi lingkup (: : ) yang menandakan kepemilikan Contoh: Fungsi anggota di kelas Ayah dan Ibu sama yaitu lihat(). Cara memanggil fungsi: Anak anak 1; anak 1. Ayah: : lihat(); anak 1. Ibu: : lihat(); Contoh Program: 7. Pewarisan Berganda (wrsbgnda. cpp)

Latihan 1. 2. 3. 4. Buatlah program menebak angka dengan menggunakan pewarisan Buatlah program

Latihan 1. 2. 3. 4. Buatlah program menebak angka dengan menggunakan pewarisan Buatlah program untuk menentukan apakah sebuah tahun adalah tahun kabisat atau tidak dengan menggunakan pewarisan Buatlah program untuk menentukan apakah suatu bilangan merupakan bilangan ganjil atau genap dengan menggunakan pewarisan berganda. Kalau bil genap, maka panggil fungsi cetak dari kelas dasar Genap. Kalau bil ganjil, maka panggil fungsi cetak dari kelas dasar Ganjil Buatlah program dengan menggunakan pewarisan untuk memberi nilai dengan kondisi sbb: A : > 80, B : 68 – 79, C : 56 – 67, D : 45 – 55, E : < 45

Latihan 5. Buatlah program untuk mengubah huruf kecil menjadi huruf besar atau sebaliknya dengan

Latihan 5. Buatlah program untuk mengubah huruf kecil menjadi huruf besar atau sebaliknya dengan menggunakan pewarisan berganda. Kalau huruf besar, maka panggil fungsi merubah ke huruf kecil dari kelas dasar Besar. Kalau huruf kecil, maka panggil fungsi merubah ke huruf besar dari kelas dasar Kecil