Sabtu, 21 April 2012

INHERITANCE dan POLIMORFISME

INHERITANCE
Pada postingan kali ini saya akan membahas tentang Inheritance dan Polimorfisme pertama saya akan membahas Inheritance. Inheritance adalah Salah satu konsep dasar dari pemrograman berbasis objek pada java. Pada dasarnya, kita melakukan inheritance(pewarisan) untuk membuat suatu class baru(class turunan/subclass) yang masih memiliki sifat atau spesifikasi dari superclass. Di dalam Java untuk mendeklarasikan suatu class sebagai subclass dilakukan dengan cara menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class-nya. Kata kunci extends tersebut memberitahu kompiler Java bahwa kita ingin melakukan perluasan class.
Beberapa aturan tentang pewarisan(inheritance) yang perlu diperhatikan :
1. Java hanya memperkenankan adanya single inheritance. Konsep single inheritance hanya memperbolehkan suatu sublass mempunyai satu parent class. Dengan konsep single inheritance ini, masalah pewarisan akan dapat diamati dengan mudah.

2. Subclass juga merupakan class biasa, maka kita tetap dapat melakukan pewarisan pada subclass ini. Misal : class B merupakan subclass dari class A, kita dapat membuat class baru yang diturunkan dari class B sehingga class baru tersebut akan memiliki apa yang dimiliki oleh class A dan class B.

3. Suatu parent class dapat tidak mewariskan sebagian member-nya kepada subclass-nya. Sejauh mana suatu member dapat diwariskan ke class lain, ataupun suatu member dapat diakses dari class lain, sangat berhubungan dengan access control (kontrol pengaksesan).

contoh coding =
 import java.io.*;
public class Mamalia {
void KelasMamalia () {
System.out.println("Ciri umum mamalia adalah bernapas dengan paru-paru, " +
"berkembang biak dengan cara beranak");
}}
class Paus extends Mamalia {
String x = "Ikan Paus";
void TampilkanPaus () {
System.out.println("dan Mamalia yang Anda pilih adalah "+ x );
System.out.println("Mamalia ini berada di laut");
System.out.println("Paus termasuk jenis mamalia terbesar");
}}
class Cheetah extends Mamalia {
String x = "Cheetah";
void TampilkanCheetah () {
System.out.println("dan Mamalia yang Anda pilih adalah "+ x );
System.out.println("Mamalia ini berada di darat");
System.out.println("Cheetah termasuk mamalia pelari tercepat di darat");
}}
class Sapi extends Mamalia {
String x = "Sapi";
void TampilkanSapi () {
System.out.println("dan Mamalia yang Anda pilih adalah "+ x );
System.out.println("Mamalia ini berada di darat");
System.out.println("Sapi termasuk jenis mamalia pemamahbiak");
}}
class Turunan {
public static void main(String[] args) throws IOException{
String sInput = null ;
System.out.println("____JENIS MAMALIA____");
System.out.println("[1]. IKAN PAUS");
System.out.println("[2]. CHEETAH");
System.out.println("[3]. SAPI");
System.out.print("Masukkan pilihan [1..3] :");
Mamalia generalx = new Mamalia();
Paus turunan1 = new Paus();
Cheetah turunan2 = new Cheetah();
Sapi turunan3 = new Sapi ();
Sapi subxc = new Sapi();
InputStreamReader inputan = new InputStreamReader(System.in);
BufferedReader jm = new BufferedReader(inputan);
sInput = jm.readLine();
int i = Integer.parseInt(sInput);
switch (i) {
case 1 :
generalx.KelasMamalia ();
turunan1.TampilkanPaus ();break;
case 2 :
generalx.KelasMamalia ();
turunan2.TampilkanCheetah ();break;
case 3 :
generalx.KelasMamalia ();
turunan3.TampilkanSapi ();break;
default:
System.out.println("Pilihan yang Anda masukkan salah!!");break;
}
}
}



Outputnya =


POLIMORFISME
Polimorfisme yaitu suatu teknik dalam programming yang lebih mengarahkan kita untuk memprogram secara general dari pada secara spesifik. Sebagai contoh seumpama kita memiliki 3 class berbeda yaitu: “Motor”, “Mobil” dan “Pesawat”. Dimana ketiga class tersebut adalah turunan dari class “Kendaraan”. Dalam kelas kedaraan terdapat suatu method yaitu “Move()”, akan tetapi apakah method “Move()” akan memberikan hasil yang sama pada tiga class tersebut. Dimana jika method “Move()” dipanggil pada class “Motor” akan menghasilkan perpindahan 30Km, jika pada class “Mobil” akan menghasilkan perpindahan 70Km dan jika dipanggil pada class “Pesawat” akan menghasilkan perpindahan 300Km. Hal inilah yang kita sebut sebagai Polimorfisme , yaitu penggunaan method yang sama, yang akan menghasilkan suatu hasil yang berbeda tergantung class yang menggunakan method tersebut.Polimorfisme juga bisa diartikan satu bentuk banyak aksi. Dalam pewarisan polimorfisme dapat kita lakukan. Kita data memerintah sebuah objek untuk melakukan tindakan yang secara prinsip sama tapi secara proses berbeda.




contoh coding =
public class Mobil {
 public void injakPedalGas(){
  System.out.println("Mobil berjalan...");
 }
}
public class Kijang extends Mobil{
 public void injakPedalGas(){
  System.out.println("Mobil Melaju dengan kecepatan 80 Km/jam...");
 }
}
public class Escudo extends Mobil {
   public void injakPedalGas(){
    System.out.println("Mobil Melaju dengan kecepatan 70 Km/jam...");
 }
}
public class BMW extends Mobil{
 public void injakPedalGas(){
  System.out.println("Mobil Melaju dengan kecepatan 100 Km/jam...");
 }
}

public class TestMobil {
 public static void main(String[] args){
  Mobil mobil = new Mobil();
  Kijang kijang = new Kijang();
  Escudo escudo = new Escudo();
  BMW bmw = new BMW();
  
  mobil.injakPedalGas();
  
  mobil = kijang;
  mobil.injakPedalGas();
  
  mobil = escudo;
  mobil.injakPedalGas();
  
  mobil = bmw;
  mobil.injakPedalGas();
 }
}
 
 
Di postingkan oleh ANDI dan VERNELL
  
sumber = http://nur-arianto.blogspot.com/2009/11/inheritance-pada-java.html 
http://sinau-java.blogspot.com/2008/05/polimorfisme-dalam-pewarisan.html 

Tidak ada komentar:

Posting Komentar