Pemrograman Berorientasi Obyek (PBO) Pertemuan 4 : Pewarisan Jamak dan Interface Disusun oleh : Silvester Dian Handy Permana, S.T., M.T.I. Fakultas Telematika, Universitas Trilogi
Tujuan Kuliah Mengerti tentang pewarisan jamak dan Interface serta implementasinya dalam Java.
Outline Kuliah Pewarisan atau Inheritance Implementasi dalam Java
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
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
Interface Interface kumpulan deklarasi fungsi (tanpa implementasi). Interface juga dapat mendeklarasikan konstanta. interfaceDeclaration { interfaceBody }
Interface Interface mendefinisikan suatu protokol perilaku. Suatu kelas mengimplementasi suatu interface Kelas tersebut akan melekat pada perilaku yang didefinisikan interface.
Interface Implementasi Kelas implements interface { // isi kelas }
Interface Simbol dalam diagram UML
Pewarisan Jamak dalam Java Menggunakan Interface Kombinasi antara turunan satu kelas dengan interface atau menggunakan interface sebagai kelas-kelas Induk.
Pewarisan Jamak dalam Java Bagaimana mewujudkan dalam Java ?
Pewarisan Jamak dalam Java Kombinasi antara turunan satu kelas dengan interface
Implementasi dalam Java 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 Java class OtherChild extends Other implements OtherInterface { public OtherChild (int value){ super(value); } // others .. interface OtherInterface { void whatever(); } class ParentChild extends Parent implements OtherInterface { public ParentChild(int val) { super(val); child = new OtherChild(val); } public void whatever() { child.whatever(); private OtherInterface child;