Matakuliah Tahun Versi : M0074/PROGRAMMING II : 2005 : 1/0 Pertemuan 6 PEWARISAN AND POLYMORPHISM 1 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : • Mahasiswa dapat Menunjukkan penggunaan konsep pewarisan dan polymorphism (C3) 2 Outline Materi • • • • • • • • Dasar pewarisan Keyword super Urutan eksekusi konstruktor Method overriding Keyword final Class abstrak Polymorphism dalam pewarisan Class Objek sebagai superclass Tertinggi 3 DASAR PEWARISAN • Menggunakan extends • Java tidak mengijinkan pewarisan berganda (Multiple Inheritance) 4 DASAR PEWARISAN CLASS A DERIVED FROM DIRECT SUPER-CLASS OF B DIRECT SUB-CLASS OF B INDIRECT SUPER-CLASS OF C INDIRECT SUB-CLASS OF A CLASS B DERIVED FROM DIRECT SUB-CLASS OF A DIRECT SUPER-CLASS OF C CLASS C 5 KEYWORD super • Digunakan untuk mengakses member dari superclass. • Digunakan untuk memanggil konstruktor superclass 6 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..."); } } 7 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... 8 METHOD OVERRIDING • Jika suatu subclass mendefinisikan sebuah method yang sama dengan yang dimiliki oleh superclass, maka method pada subclass dikatakan akan mengoverride superclassnya 9 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 10 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 11 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 12 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 13 RINGKASAN • Beberapa keyword yang terpenting dalam pewarisan dan polymorphism ini adalah : – extends – super – final • Keyword yang terpenting dalam class abstract adalah abstract 14
© Copyright 2025 Paperzz