320 likes | 620 Views
Inheritance ( Pewarisan ). Inheritance ( Pewarisan ). Inheritance: Suatu class dapat mewariskan atribut dan method kepada class lain (subclass), serta membentuk class hierarchy. Inheritance ( Pewarisan ). Reusability Top down: Being more specific Bottom Up: Find similiarity
E N D
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 prosespewarisanterdapat 2 sebutan: • SuperBisadisebutjugadenganinduk.Misalnya class ORTU adalah super class yang mewarisike class ANAKNah, karenamewarisiberarti ORTU bertindaksebagai super class • SubBisadisebutdengananakMisalnya class ANAK diwarisioleh class ORTUArtinyaanakadalah 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
Implementasipada Java • class 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 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 SepedaGunungMewarisi Class Sepeda Dosen Pengampu : Nur Iksan
Inheritance (Pewarisan) Bagaimanaimplementasipada Java? Method pada class Lingkaranmenentukanluaslingkarandenganrumus LL=3.14 x r x r Method pada class Silindermenentukan volume silinderdenganrumusvolumenya VL=3.14 x r x r x h DosenPengampu : NurIksan
Latihan • Buat class MobilBMWyangmerupakan inherit dari class MobilLengkap • Tambahkan method nontonTV() yang menampilkantulisandilayar: • TV dihidupkan • TV mencari channel • TV menampilkangambar • Buat class MobilBMWBeraksi yang memanggilmethod nontonTV, hidupkanMobil, matikanMobil, ubahGigi Dosen Pengampu : Nur Iksan
PewarisanJamakdan Interface Dosen Pengampu : Nur Iksan
Pendahuluan • Pewarisanawalnyadipandangsebagaimekanismeuntuk sharing kode (fungsi) dan data (atribut) • PewarisanJamak (multiple inheritance) dipandangsebagaimekanismeuntukmembentuksuatu sub kelasdaribeberapaimplementasi super kelas Dosen Pengampu : Nur Iksan
Implementasidalam Java • Java TIDAKmendukungpewarisanJamak • Java HANYAmemilikipewarisantunggal • Suatukelasturunanhanyamemilikisatukelasinduk • LaluBagaimanaperwujudannyadalam Java ? • Java mewujudkannyadenganmenggunakanInterface • Multiple interface inheritance BUKAN multiple implementation inheritance Dosen Pengampu : Nur Iksan
Interface • Interface digunakan apabila kita ingin menentukan apa yang harus dilakukan olehsuatu class tapitidakmenentukanbagaimanacarauntukmelakukannya • Interfacekumpulandeklarasifungsi (tanpaimplementasi). Interface jugadapatmendeklarasikankonstanta • Interfacesebenarnyasamadengan class, tapihanyamemilikideklarasi method tanpaimplementasi Dosen Pengampu : Nur Iksan
Interface Declaration interface NamaInterface { interfaceBody } Dosen Pengampu : Nur Iksan
Interface • Interface mendefinisikansuatuprotokolperilaku. • Suatukelasmengimplementasisuatu interface • Kelastersebutakanmelekatpadaperilaku yang didefinisikan interface. Dosen Pengampu : Nur Iksan
Interface Implementasi intarface: • Kelas implements interface { • // isikelas • } Dosen Pengampu : Nur Iksan
PewarisanJamakdalam Java • Menggunakan Interface • Kombinasiantaraturunansatukelasdengan interface ataumenggunakan interface sebagaikelas-kelasInduk. Dosen Pengampu : Nur Iksan
PewarisanJamakdalam Java • Bagaimana mewujudkan dalam Java ? Dosen Pengampu : Nur Iksan
PewarisanJamakdalam Java • Kombinasi antara turunan satu kelas dengan interface Dosen Pengampu : Nur Iksan
ImplementasidalamJava class Parent { private intval; public Parent(int value ) { this.val = value; } public intgetValue() { return this.val; } // some code omitted } class Other { private intval; public Other(int value) { this.val = val; } public void whatever() { System.out.println("whatever methods \n"); } } Dosen Pengampu : Nur Iksan
ImplementasidalamJava interface OtherInterface { void whatever(); } class OtherChild extends Other implements OtherInterface { public OtherChild (int value){ super(value); } // others .. } class ParentChild extends Parent implements OtherInterface { public ParentChild(intval) { super(val); child = new OtherChild(val); } public void whatever() { child.whatever(); } private OtherInterface child; } Dosen Pengampu : Nur Iksan