Inheritance Pewarisan Dosen Pengampu Nur Iksan Inheritance Pewarisan

























- Slides: 25

Inheritance (Pewarisan) Dosen Pengampu : Nur Iksan

Inheritance (Pewarisan) � Inheritance: Suatu class dapat mewariskan atribut dan method kepada class lain (subclass), serta membentuk class hierarchy Dosen Pengampu : Nur Iksan

Inheritance (Pewarisan) �Reusability �Top down: Being more specific �Bottom Up: Find similiarity �Java Keyword: extends Dosen Pengampu : Nur Iksan

Inheritance (Pewarisan) Dosen Pengampu : Nur Iksan

Inheritance (Pewarisan) Di proses pewarisan terdapat 2 sebutan: � Super Bisa disebut juga dengan induk. Misalnya class ORTU adalah super class yang mewarisi ke class ANAK Nah, karena mewarisi berarti ORTU bertindak sebagai super class � Sub Bisa disebut dengan anak Misalnya class ANAK diwarisi oleh class ORTU Artinya anak adalah sub class dari class ORTU (super class) Dosen Pengampu : Nur Iksan

Inheritance (Pewarisan) Apa yang diwariskan? �method-method, �konstruktor- konstruktor, �dan variabel-variabel Dosen Pengampu : Nur Iksan

Implementasi pada Java �class ORTU mempunyai variabel dan method dan diturunkan ke sub classnya (misal: class ANAK). Berarti class ANAK mempunyai semua variabel dan method yang dimiliki oleh class ORTU Dosen Pengampu : Nur Iksan

Keyword extends class <sub_class> extends <super_class> { <program>; } class ANAK extends ORTU { } Dosen Pengampu : Nur Iksan

Inheritance (Pewarisan) Dosen Pengampu : Nur Iksan

Sepeda. java Dosen Pengampu : Nur Iksan

Class Sepeda. Gunung Mewarisi Class Sepeda Dosen Pengampu : Nur Iksan

Inheritance (Pewarisan) Bagaimana implementasi pada Java? Method pada class Lingkaran menentukan luas lingkaran dengan rumus LL=3. 14 x r Method pada class Silinder menentukan volume silinder dengan rumus volumenya VL=3. 14 x r x h Dosen Pengampu : Nur Iksan

Latihan �Buat class Mobil. BMWyang merupakan inherit dari class Mobil. Lengkap �Tambahkan method nonton. TV() yang menampilkan tulisan di layar: �TV dihidupkan �TV mencari channel �TV menampilkan gambar �Buat class Mobil. BMWBeraksi yang memanggil method nonton. TV, hidupkan. Mobil, matikan. Mobil, ubah. Gigi Dosen Pengampu : Nur Iksan

Pewarisan Jamak dan Interface Dosen Pengampu : Nur Iksan

Pendahuluan � Pewarisan awalnya dipandang sebagai mekanisme untuk sharing kode (fungsi) dan data (atribut) � Pewarisan Jamak (multiple inheritance) dipandang sebagai mekanisme untuk membentuk suatu sub kelas dari beberapa implementasi super kelas Dosen Pengampu : Nur Iksan

Implementasi dalam Java � Java TIDAK mendukung pewarisan Jamak � Java HANYA memiliki pewarisan tunggal ◦ Suatu kelas turunan hanya memiliki satu kelas induk � Lalu Bagaimana perwujudannya dalam Java ? � Java mewujudkannya dengan menggunakan Interface ◦ Multiple interface inheritance BUKAN multiple implementation inheritance Dosen Pengampu : Nur Iksan

Interface �Interface digunakan apabila kita ingin menentukan apa yang harus dilakukan oleh suatu class tapi tidak menentukan bagaimana cara untuk melakukannya �Interface kumpulan deklarasi fungsi (tanpa implementasi). Interface juga dapat mendeklarasikan konstanta �Interface sebenarnya sama dengan class, tapi hanya memiliki deklarasi method tanpa implementasi Dosen Pengampu : Nur Iksan

Interface Declaration interface Nama. Interface { interface. Body } Dosen Pengampu : Nur Iksan

Interface � Interface mendefinisikan suatu protokol perilaku. � Suatu kelas mengimplementasi suatu interface ◦ Kelas tersebut akan melekat pada perilaku yang didefinisikan interface. Dosen Pengampu : Nur Iksan

Interface Implementasi intarface: Kelas implements interface { // isi kelas } Dosen Pengampu : Nur Iksan

Pewarisan Jamak dalam Java � Menggunakan Interface � Kombinasi antara turunan satu kelas dengan interface atau menggunakan interface sebagai kelas-kelas Induk. Dosen Pengampu : Nur Iksan

Pewarisan Jamak dalam Java �Bagaimana mewujudkan dalam Java ? Dosen Pengampu : Nur Iksan

Pewarisan Jamak dalam Java �Kombinasi antara turunan satu kelas dengan interface Dosen Pengampu : Nur Iksan

Implementasi dalam Java class Parent { private int val; class Other { private int val; public Other(int value) { this. val = val; } public Parent(int value ) { public void whatever() this. val = value; { } System. out. println("whatever public int get. Value() methods n"); { } return this. val; } } // some code omitted } Dosen Pengampu : Nur Iksan

Implementasi dalam Java class Other. Child extends Other implements Other. Interface { { public Other. Child (int value){ void whatever(); super(value); } } // others. . } class Parent. Child extends Parent implements Other. Interface { public Parent. Child(int val) { super(val); child = new Other. Child(val); } public void whatever() { child. whatever(); } private Other. Interface child; } Dosen Pengampu : Nur Iksan interface Other. Interface