220 likes | 573 Views
Pemrograman Berorientasi Obyek dengan JAVA Interface. Nur Hayatin , S.ST Teknik Informatika – UMM 2011. Sub Topik. Deklarasi Interface Interface Modifier Implementasi Interface Hirarki Interface Inheritance pada interface Interface, class, dan abstract class. Interface.
E N D
Pemrograman Berorientasi Obyek dengan JAVAInterface NurHayatin, S.ST TeknikInformatika – UMM 2011
Sub Topik • Deklarasi Interface • Interface Modifier • Implementasi Interface • Hirarki Interface • Inheritance pada interface • Interface, class, dan abstract class
Interface • Menggambarkan cara standart tentang behavior-behavior yang dimiliki oleh class. • Berisi method abstract. • Untuk model multi inheritance yang mengijinkan sebuah class dapat memiliki lebih dari satu superclass.
Deklarasi Interface • Syntax : • Contoh : (interface kosong) public interface [InterfaceName] { //beberapa method tanpa body } public interface Facsimile{ }
Contoh Interface • Interface facsimile memiliki member : 1 konstanta, 4 method abstract. public interface Facsimile{ intdotPerInches = 90; booleandialPhone (String number); void getDocument(intnDoc); booleansendDocument(intnDoc); void closePhone(); }
Komponen Pembentuk Interface • Modifier • Keyword “interface”. • Identifier Merupakannama interface yang ditentukanoleh programmer. • Body interface Berisi method abstract. Ataubisajugaditambahkankonstanta.
Interface Modifier • Jenis modifier yang dapat ditambahkan pada interface : • Public • Protected • Private • Static • Abstract • Interface dapat memiliki member berupa interface sendiri. Secara implisit member-interface tersebut akan bertipe public dan static.
Public • Interface yang memiliki modifier public dapat diakses dimanapun, diluar maupun didalam package yang sama dengan class/interface yang mengakses. • Contoh : public interface Facsimile{ }
Protected • Modifier protected hanya berlaku untuk member-interface yang ada didalam sebuah class. • Member-interface yang bertipe protected akan dapat diakses didalam subclass, baik didalam maupun diluar package. • Contoh : public class Printer{ protected interface Facsimile{ } }
Private • Berlaku untuk member-interface yang ada didalam sebuah class. • Member-interface yang bertipe private hanya dapat diakses oleh class yang memilikinya. • Contoh : public class Printer{ private interface Nozzle{ } }
Static • Berlaku untuk member-interface yang ada didalam sebuah class. • Jika member-interface berada didalam class maka secara implisit selalu static, sehingga akan diinisialisasi sekali saja oleh compiler yaitu pada saat class/interface yang memilikinya diinisialisasi.
Abstract • Semua interface (termasuk member-interface) secara implisit selalu abstract. Karena interface ditujukan untuk menyimpan anggota berupa method abstract. • Method abstract adalah method yang hanya berupa deklarasi saja. Method ini akan dideklarasi ulang/diimplementasi pada class yang menggunakan interface tersebut.
Implementasi • Interface dapat diimplementasikan oleh sebuah class. • Implementasi interface menggunakan keyword “implements”. • Syarat : seluruh method abstract yang ada pada interface harus dideklarasi ulang didalam class yang mengimplementasikannya. • Syntax : public class [className] implements [interfaceName] { //beberapakodedisini }
Contoh : Implementasi Interface public class Printer implements Facsimile{ booleandialPhone (String number){ return true; } void getDocument(intnDoc){ } booleansendDocument(intnDoc){ return true; } void closePhone(){ } } • Class Printer melakukan implements terhadap Facsimile sehingga didalamnya dideklarasi ulang seluruh method abstract yang dimiliki oleh Facsimile.
Multi-implements • Sebuah class dapat melakukan implements lebih dari satu interface. • Contoh : Class Person implements terhadap 3 interface sekaligus, yaitu : PersonInterface, LivingThing dan WhateverInterface. class Person implements PersonInterface,LivingThing, WhateverInterface { //beberapa kode disini }
Multi-implements • Multi-implements dapat menyelesaikan permasalahan multiple inheritance yang tidak diperbolehkan terjadi pada extends class. • Gambaran multi-implements : Interface 1 Interface 2 Interface n class
Hirarki Interface • Superinterface interface yang letaknya diatas interface lain. • Subinterface interface yang letaknya dibawah interface lain. Super interface Sub interface
Inheritance pada Interface • Interface dapat memiliki hubungan inheritance antar mereka sendiri. • Menggunakan keyword “extends”. • Contoh : interface PersonInterface merupakan superinterface dari student interface. public interface PersonInterface { . . . } public interface StudentInterface extends PersonInterface { . . . }
Implements SubInterface • Sebuah class yang mengimplementasikan subinterface wajib mendeklarasi ulang seluruh method yang ada pada subinterface tersebut dan juga method yang ada pada superinterface-nya. • Contoh : • Karena StudentInterface merupakan subclass dari PersonInterface maka class Mahasiswa harus mendeklarasi ulang semua method abstract yang dimiliki oleh kedua interface tersebut. Class Mahasiswa implements StudentInterface { . . . }
Interface & Class • Persamaan : • Berupa type data, sehingga interface dapat digunakan ditempat dimana sebuah class dapat digunakan (berhubungan dengan akses modifier) • Perbedaan : • Tidak dapat membuat object dari interface • Tidak memiliki segala implementasi dari method
Interface & Abstract Class • Persamaan : • Bertipe abstract • Memiliki method abstract • Perbedaan : • Interface hanya berisi method abstract • Variabel yang dideklarasikan didalam interface merupakan constanta • Interface dapat diimplemetasikan secara multi-inheritance
Kesimpulan • Untuk membuat interface keyword yang dipakai adalah interface. • Sedangkan untuk menggunakannya keyword yang dipakai adalah implements. • Interface dapat digunakan untuk mengatasi permasalah multiple inheritance pada java.