Skip to content

Polimorfisme dan Interface

30 Agustus 2010
  1. Polimorfisme à sesuatu yang memiliki banyak bentuk.  Dalam pemrograman, polimorfisme dapat diartikan sebagai modul yang memiliki nama sama, namun memiliki behaviour (tingkah laku) yang berbeda sehingga listing code implementasinya juga  berbeda.
  2. Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda,  adalah  konsep  sederhana  dalam  bahasa  pemrograman  berorientasi  objek  yang  berarti  kemampuan  dari  suatu  variabel  referensi  objek  untuk memiliki aksi berbeda bila method yang sama dipanggil, dimana aksi method tergantung  dari  tipe  objeknya.  Kondisi  yang  harus  dipenuhi  supaya polimorfisme dapat diimplementasikan adalah :
  • Method  yang  dipanggil  harus  melalui  variabel  dari  basis  class  atau superclass.
  • Method yang dipanggil harus juga menjadi method dari basis class.
  • Signature method harus sama baik pada superclass maupun subclass.
  • Method  access  attribute  pada  subclass  tidak  boleh  lebih  terbatas  dari basis class.

Contoh Latihan Polimorfisme

abstract class Bentuk {

protected int panjang;

protected int lebar;

public String getBentuk() {

return “Bentuk Dasar”;

}

public abstract int hitungLuas();

}

class BujurSangkar extends Bentuk {

public BujurSangkar(int panjang1, int lebar1) {

this.panjang = panjang1;

this.lebar  = lebar1;

}

public String getBentuk() {

return “Bentuk Bujur Sangkar”;

}

public int hitungLuas() {

return panjang*lebar;

}

}

class SegiTiga extends Bentuk {

public SegiTiga(int panjang2, int lebar2) {

this.panjang = panjang2;

this.lebar  = lebar2;

}

//public String getBentuk() {

//return “Bentuk Segi Tiga”;

//return “”;

//}

public int hitungLuas() {

return this.panjang*this.lebar/2;

}

}

class Polimorfisme {

public static void cetakLuasBentuk(Bentuk btk) {

System.out.println(btk.getBentuk() + ” dengan luas ” +

btk.hitungLuas());

}

public static void main(String[] args) {

BujurSangkar bs  = new BujurSangkar(10,20);

BujurSangkar bs1 = new BujurSangkar(10,20);

SegiTiga st  = new SegiTiga(5,10);

SegiTiga st1 = new SegiTiga(50,100);

cetakLuasBentuk(bs);

cetakLuasBentuk(bs1);

cetakLuasBentuk(st);

cetakLuasBentuk(st1);

}

}

class  abstract adalah  class  yang  tidak  dapat  di-instantiate.  Seringkali  muncul  di

atas hirarki class pemrograman berbasis object, dan mendefinisikan keseluruhan aksi yang mungkin pada object dari seluruh subclasses dalam class.


Interface adalah jenis khusus dari blok yang hanya berisi method signature(atau constant). Interface mendefinisikan sebuah(signature) dari sebuah kumpulan method tanpa tubuh.

Interface mendefinisikan sebuah cara standar dan umum dalam menetapkan sifat-sifat dari class-class. Mereka menyediakan class-class, tanpa memperhatikan lokasinya dalam hirarki class,  untuk  mengimplementasikan  sifat-sifat  yang  umum.  Dengan  catatan  bahwa interface-interface juga menunjukkan polimorfisme, dikarenakan program dapat memanggil method  interface  dan  versi  yang  tepat  dari  method  yang  akan  dieksekusi  tergantung  dari  tipe object yang melewati pemanggil method interface.

  • Ø Berikut  ini  adalah  perbedaan  utama  antara  sebuah  interface  dan  sebuah  class  abstract: method  interface  tidak  punya  tubuh,  sebuah  interface  hanya  dapat  mendefinisikan konstanta  dan  interface  tidak  langsung  mewariskan  hubungan  dengan  class  istimewa lainnya, mereka didefinisikan secara independent.
  • Ø Satu ciri umum dari sebuah interface dan class adalah pada tipe mereka berdua. Ini artinya bahwa sebuah interface dapat digunakan dalam tempat-tempat dimana sebuah class dapat digunakan, Ciri  umum  lain adalah  baik  interface  maupun  class  dapat  mendefinisikan  method. Bagaimanapun,  sebuah  interface  tidak  punya  sebuah  kode  implementasi  sedangkan  class memiliki salah satunya.
  • Ø Membuat Interface

public interface [InterfaceName]

{

//beberapa method tanpa isi

}

  • Ø Petunjuk Penulisan Program:

Secara mutlak atribut adalah static dan final dan harus diinisialisasi dengan

nilai konstanta. Seperti mendeklarasikan class teratas, acces modifier yang

valid  hanyalah  public  dan  package(yakni  jika  tidak  ada  acces  modifier

mengawali kata kunci class).

  • Ø Contoh penggunaan dan pendeklarasian Interface

interface MyInterface {

void iMethod();

}

class MyClass1 implements MyInterface {

public void iMethod() {

System.out.println(“Interface method.”);

}

void myMethod() {

System.out.println(“Another method.”);

}

}

class MyClass2 implements MyInterface {

public void iMethod() {

System.out.println(“Another implementation.”);

}

}

class InterfaceDemo {

public static void main(String args[]) {

MyClass1 mc1 = new MyClass1();

MyClass2 mc2 = new MyClass2();

mc1.iMethod();

mc1.myMethod();

mc2.iMethod();

}

}

3 Komentar leave one →
  1. 14 Mei 2011 12:09 pm

    nice info gan

  2. 14 Desember 2011 6:17 am

    tanks infonya gan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: