Minggu, 15 April 2012

inheritance dan polymorphisme

INHERITANCE

• Inheritance merupakan salah satu dari tiga konsep dasar OOP.
• Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek / y dapat mempunyai entitas/obyek turunan.
• Dengan konsep inheritance, sebuah class dapat mempunyai class turunan.
• Suatu class yang mempunyai class turunan dinamakan parent class atau base class.
• Sedangkan class turunan itu sendiri seringkali disebut subclass atau child class



atau bisa diartikan inheritance atau pewarisan dalam bahasa java adalah suatu objek atau entitas yang dapat mempunyai objek turunan. Dengan konsep inheritance sebuah class dapat mempunyai class turunan, dan sebuah class dengan memiliki class turunan disebut parent class atau base class, sementara untuk class turunan disebut child class atau yang lebih dikenal sebagai sub class. Suatu sub class dapat mewarisi apa2 saja yang dipunyai oleh parent class, dan isi dari subclass sendiri adalah apa-apa yang ia punyai dan apa-apa yang diwarisi oleh class parentnya, dapat disimpulkan sebuah subclass boleh dikatakan hanya memperluas parent classnya.


contoh program :

  • persegi panjang


class PersegiPanjang
{
double panjang;
double lebar;
PersegiPanjang(double panjang, double lebar) {
this.panjang = panjang;
this.lebar = lebar;
}

PersegiPanjang()
{
throw new UnsupportedOperationException(“Not yet implemented”);
}
double hitungLuas() {
return (panjang * lebar);
}
double getPanjang() {
return panjang;
}
double getLebar() {
return lebar;
}
}

  • Balok
class Balok extends PersegiPanjang{
double tinggi;
Balok(double panjang, double lebar, double tinggi) {
super(panjang, lebar);
this.tinggi = tinggi;
}
@Override
double hitungLuas() {
return (panjang * lebar * tinggi);
}
}
  • Hitung
class Hitung {
public static void main(String[] args) {
Balok b1 = new Balok(30, 40, 10);
PersegiPanjang p1 = new PersegiPanjang(30,40);
System.out.println(“panjang = ” +b1.panjang);
System.out.println(“lebar = ” +b1.lebar);
System.out.println(“tinggi = ” +b1.tinggi);
System.out.println(“luas = ” +p1.hitungLuas());
System.out.println(“volum = ” +b1.hitungLuas());
}
}
POLYMORPHISME
Polymorphism, suatu aksi yang memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek.
Atau Polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.
Ada dua jenis polymorphisme yaitu Override dan Overload. Di dalam java dikatakan bersifat override ketika terdapat method dengan nama, parameter dan tipe data yang sama persis di dalam kelas induk maupun kelas turunannya.


Contoh :

// kelas a sebagai superclass
class a
{
 public void a()
 {
  System.out.println("A");
 }
}

// kelas b sebagai subclass
class b extends a
{
 public void a()
 {
  System.out.println("B");
 }
}

// class utama untuk eksekutor kelas
// dilengkapi dengan method main
public class utama
{
 public  static void main(String[] args)
 {
  a a=new a();
  b b=new b();
  a.a();
  a=b;
  a.a();
 }
}


Overload Polymophisme memiliki perbedaan pada method yang ada. Pada overload polymorphisme terdapat lebih dari satu method dengan nama yang sama tetapi memiliki jumlah parameter maupun tipe data yang berbeda.

Contoh :
// kelas a sebagai superclass
class a
{
 public int ab;
 public void a()
 {
  ab=0;
  System.out.println("A");
 }
 public void a(int ax)
 {
  ab=ax;
  System.out.println("A");
 }
}

// kelas b sebagai subclass
class b extends a
{
 public void a()
 {
  ab=0;
  System.out.println("B");
 }
 public void a(int ax)
 {
  ab=ax;
  System.out.println("B");
 }
}

// class utama untuk eksekutor kelas
// dilengkapi dengan method main
public class utama
{
 public  static void main(String[] args)
 {
  a a=new a();
  b b=new b();
  a.a();
  a.a(10);
  a=b;
  a.a();
  a.a(20);
 }
}

Sumber : http://4s3m.blogspot.com/2011/10/hari-ini-tanggal-24-oktober-2011-terasa.html


Tidak ada komentar:

Posting Komentar