Pertemuan 6 PEWARISAN AND POLYMORPHISM Matakuliah : M0074/PROGRAMMING II Tahun : 2005 Versi : 1/0 Pertemuan 6 PEWARISAN AND POLYMORPHISM
Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Mahasiswa dapat Menunjukkan penggunaan konsep pewarisan dan polymorphism (C3)
Urutan eksekusi konstruktor Method overriding Keyword final Outline Materi Dasar pewarisan Keyword super Urutan eksekusi konstruktor Method overriding Keyword final Class abstrak Polymorphism dalam pewarisan Class Objek sebagai superclass Tertinggi
Java tidak mengijinkan pewarisan berganda (Multiple Inheritance) DASAR PEWARISAN Menggunakan extends Java tidak mengijinkan pewarisan berganda (Multiple Inheritance)
DASAR PEWARISAN CLASS A CLASS B CLASS C DERIVED FROM DERIVED FROM DIRECT SUB-CLASS OF B INDIRECT SUB-CLASS OF A DIRECT SUPER-CLASS OF B INDIRECT SUPER-CLASS OF C CLASS B DERIVED FROM DIRECT SUB-CLASS OF A DIRECT SUPER-CLASS OF C CLASS C
Digunakan untuk mengakses member dari superclass. KEYWORD super Digunakan untuk mengakses member dari superclass. Digunakan untuk memanggil konstruktor superclass
URUTAN EKSEKUSI KONSTRUKTOR class A { A() { System.out.println("Konstruktor class A dieksekusi..."); } class B extends A { B() { System.out.println("Konstruktor class B dieksekusi..."); class C extends B { C() { System.out.println("Konstruktor class C dieksekusi...");
URUTAN EKSEKUSI KONSTRUKTOR class DemoInheritance { public static void main(String[] args) { C subOb = new C(); } Hasil eksekusi program : Konstruktor class A dieksekusi... Konstruktor class B dieksekusi... Konstruktor class C dieksekusi...
METHOD OVERRIDING Jika suatu subclass mendefinisikan sebuah method yang sama dengan yang dimiliki oleh superclass, maka method pada subclass dikatakan akan meng-override superclassnya
Untuk membuat suatu property yang bernilai konstan KEYWORD final Untuk membuat suatu property yang bernilai konstan Untuk mencegah suatu method dioverride di subclassnya Untuk mencegah suatu class diturunkan dengan menggunakan keyword ini pada waktu mendeklarasikan class tersebut
CLASS ABSTRAK Suatu class dimana tidak semua method yang dideklarasikan di dalamnya memiliki implementasi Method yang tidak memiliki implementasi pada suatu class harus dideklarasikan sebagai abstrak dengan menggunakan keyword abstract
POLYMORPHISM DALAM PEWARISAN Variabel Superclass dapat memegang referensi dari objek subclass Method mana yang akan dipanggil tergantung dari objeknya sendiri dan bukan dari tipe data variabel yang memegang referensi dari objek tersebut Dynamic method dispatch, method mana yang akan dieksekusi ditentukan pada saat eksekusi program bukan pada saat kompilasi
CLASS Object SEBAGAI SUPERCLASS TERTINGGI Class dalam Java yang merupakan class yang menduduki posisi hierarkis tertinggi, sehingga semua class yang dibuat dalam Java pasti merupakan turunan dari class Object Dapat memegang referensi ke objek(instance) dengan tipe data class apapun termasuk tipe data array karena array diperlakukan sebagai objek dalam Java
Keyword yang terpenting dalam class abstract adalah abstract RINGKASAN Beberapa keyword yang terpenting dalam pewarisan dan polymorphism ini adalah : extends super final Keyword yang terpenting dalam class abstract adalah abstract