Powered By Blogger

Selasa, 19 Maret 2013

Object Interface


Object Interface
Pengertian Interface adalah Himpunan operasi – operasi yang menentukan perilaku sebuah objek,  biasanya digunakan apabila kita ingin menentukan apa saja yang harus dillakukan oleh satu class tetapi tidak menentukan bagaimana cara untuk melakukannya. Untuk memiliki class yang tidak berhubungan yang mengimplementasikan method yang sama.
◦       Contoh:
–   Class Line dan MyInteger
◦       Tidak berhubungan
◦       Keduanya mengimplementasikan method perbandingan
–   isGreater
–   isLess
–   isEqual
◦       Untuk mengungkapkan sebuah interface pemrograman object tanpa   pernyataan    classnya
◦       Untuk model multi inheritance yang mengijinkan sebuah class untuk memiliki lebih dari satu superclass.
Cara Membuat Interface
Untuk membuat interface, kita tulis,

--------------------------------------------------------
public interface [InterfaceName]
{
//beberapa method tanpa isi
}

--------------------------------------------------------

Sebagai contoh, mari kita membuat sebuah interface yang mendefinisikan hubungan antara
dua object menurut urutan asli dari object.

--------------------------------------------------------
public interface Relation

{

public boolean isGreater( Object a, Object b);

public boolean isLess( Object a, Object b);

public boolean isEqual( Object a, Object b);

}

--------------------------------------------------------

Sekarang, penggunaan interface, kita gunakan kata kunci implements. Contohnya,

---------------------------------------------------------
/**


* Class ini mendefinisikan segmen garis
*/
public class Line implements Relation
{

private double x1;
private double x2;
private double y1;
private double y2;

public Line(double x1, double x2, double y1, double y2){
this.x1 = x1;
this.x2 = x2;
this.y1 = y1;
this.y2 = y2;

}
public double getLength(){
double length = Math.sqrt((x2-x1)*(x2-x1) +
(y2-y1)* (y2-y1));
return length;
}

public boolean isGreater( Object a, Object b){
double aLen = ((Line)a).getLength();
double bLen = ((Line)b).getLength();
return (aLen > bLen);

}

public boolean isLess( Object a, Object b){
double aLen = ((Line)a).getLength();
double bLen = ((Line)b).getLength();
return (aLen < alen =" ((Line)a).getLength();" blen =" ((Line)b).getLength();" alen ="=" style="font-weight: bold;">Petunjuk penulisan program:

Gunakan interface untuk mendefinisikan method standar yang sama dalam class-
class berbeda yang memungkinkan. Sekali Anda telah membuat kumpulan definisi
method standar, Anda dapat menulis method tunggal untuk memanipulasi semua class-
class yang mengimplementasikan interface.