Inheritance ( Pewarisan )
description
Transcript of Inheritance ( Pewarisan )
InheritanceInheritance (Pewarisan)(Pewarisan)
Dosen Pengampu : Nur Iksan
Inheritance Inheritance (Pewarisan)(Pewarisan) Inheritance: Suatu class dapat mewariskan
atribut dan method kepada class lain (subclass), serta membentuk class hierarchy
Dosen Pengampu : Nur Iksan
Inheritance Inheritance (Pewarisan)(Pewarisan)ReusabilityTop down:
Being more specific
Bottom Up:Find similiarity
Java Keyword:extends
Dosen Pengampu : Nur Iksan
Inheritance Inheritance (Pewarisan)(Pewarisan)
Dosen Pengampu : Nur Iksan
Inheritance Inheritance (Pewarisan)(Pewarisan)Di proses pewarisan terdapat 2 sebutan:SuperBisa disebut juga dengan induk.Misalnya class ORTU adalah super class yang mewarisi ke class ANAKNah, karena mewarisi berarti ORTU bertindak sebagai super classSubBisa disebut dengan anakMisalnya class ANAK diwarisi oleh class ORTUArtinya anak adalah sub class dari class ORTU (super class)
Dosen Pengampu : Nur Iksan
Inheritance Inheritance (Pewarisan)(Pewarisan)Apa yang diwariskan?method-method, konstruktor- konstruktor, dan variabel-variabel
Dosen Pengampu : Nur Iksan
Implementasi pada JavaImplementasi pada Javaclass ORTU mempunyai
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 extendsKeyword extends
class <sub_class> extends <super_class> { <program>; }
Dosen Pengampu : Nur Iksan
class ANAK extends ORTU {
}
Inheritance Inheritance (Pewarisan)(Pewarisan)
Dosen Pengampu : Nur Iksan
Sepeda.javaSepeda.java
Dosen Pengampu : Nur Iksan
Class SepedaGunung Class SepedaGunung Mewarisi Class SepedaMewarisi Class Sepeda
Dosen Pengampu : Nur Iksan
Inheritance Inheritance (Pewarisan)(Pewarisan)
Dosen Pengampu : Nur Iksan
Bagaimana implementasi pada Java?
Method pada class Lingkaran menentukan luas lingkaran dengan rumus LL=3.14 x r x r
Method pada class Silinder menentukan volume silinder dengan rumus volumenya VL=3.14 x r x r x h
LatihanLatihanBuat class MobilBMWyang merupakan
inherit dari class MobilLengkap Tambahkan method nontonTV() yang
menampilkan tulisan di layar:TV dihidupkanTV mencari channelTV menampilkan gambarBuat class MobilBMWBeraksi yang
memanggil method nontonTV, hidupkanMobil, matikanMobil, ubahGigi
Dosen Pengampu : Nur Iksan
Pewarisan Jamak dan Pewarisan Jamak dan InterfaceInterface
Dosen Pengampu : Nur Iksan
PendahuluanPendahuluanPewarisan 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 JavaImplementasi 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
InterfaceInterfaceInterface 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 DeclarationInterface Declaration
interface NamaInterface { interfaceBody
}
Dosen Pengampu : Nur Iksan
InterfaceInterfaceInterface mendefinisikan suatu
protokol perilaku. Suatu kelas mengimplementasi
suatu interface ◦ Kelas tersebut akan melekat pada
perilaku yang didefinisikan interface.
Dosen Pengampu : Nur Iksan
InterfaceInterface
Implementasi intarface:
Dosen Pengampu : Nur Iksan
Kelas implements interface { // isi kelas
}
Pewarisan Jamak dalam Pewarisan Jamak dalam JavaJavaMenggunakan InterfaceKombinasi antara turunan satu
kelas dengan interface atau menggunakan interface sebagai kelas-kelas Induk.
Dosen Pengampu : Nur Iksan
Pewarisan Jamak dalam Pewarisan Jamak dalam JavaJavaBagaimana mewujudkan dalam Java ?
Dosen Pengampu : Nur Iksan
Parent Other
ParentChild
Pewarisan Jamak dalam Pewarisan Jamak dalam JavaJavaKombinasi antara turunan satu
kelas dengan interface
Dosen Pengampu : Nur Iksan
Parent Other
OtherChildParentChild
OtherInterface<<Interface>>
Implementasi dalam Implementasi dalam JavaJava
Dosen Pengampu : Nur Iksan
class Parent{ private int val;
public Parent(int value ) {this.val = value;
} public int getValue() {
return this.val; } // some code omitted}
class Other{ private int val; public Other(int value) {
this.val = val; }
public void whatever() { System.out.println("whatever methods \n"); }
}
Implementasi dalam Implementasi dalam JavaJavainterface OtherInterface{ void whatever();}
Dosen Pengampu : Nur Iksan
class OtherChild extends Other implements OtherInterface{ public OtherChild (int value){
super(value); } // others ..}
class ParentChild extends Parent implements OtherInterface{ public ParentChild(int val) {
super(val);child = new OtherChild(val);
} public void whatever() {
child.whatever(); }
private OtherInterface child;}