Pemrograman Berorientasi Obyek filePemrograman Berorientasi Obyek
Pemrograman Berorientasi Obyek dengan JAVA Interface
description
Transcript of Pemrograman Berorientasi Obyek dengan JAVA Interface
Pemrograman Berorientasi Obyek dengan JAVA
Interface
Nur Hayatin, S.STTeknik Informatika – 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{ int dotPerInches = 90; boolean dialPhone (String number); void getDocument(int nDoc); boolean sendDocument(int nDoc); void closePhone();}
Komponen Pembentuk Interface
1. Modifier2. Keyword “interface”.3. Identifier
Merupakan nama interface yang ditentukan oleh programmer.
4. Body interfaceBerisi method abstract. Atau bisa juga ditambahkan konstanta.
Interface Modifier
• Jenis modifier yang dapat ditambahkan pada interface :1. Public2. Protected3. Private4. Static5. 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]{ //beberapa kode disini}
Contoh : Implementasi Interface
• Class Printer melakukan implements terhadap Facsimile sehingga didalamnya dideklarasi ulang seluruh method abstract yang dimiliki oleh Facsimile.
public class Printer implements Facsimile{ boolean dialPhone (String number){
return true; } void getDocument(int nDoc){ } boolean sendDocument(int nDoc){
return true; } void closePhone(){ }
}
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
class
Interface 2 Interface n
Hirarki Interface
• Superinterfaceinterface yang letaknya diatas interface lain.
• Subinterfaceinterface 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.