Selasa, 08 April 2008

PROGRAM JAVA POLIMORFISMA

PROGRAM JAVA POLIMORFISMA
Erfan Rusdi
3fjava@gmail.com
http://3fjava.blogspot.com
import java.util.Random;
class Hewan{
private String tipe;
public Hewan(String tipe){
this.tipe = tipe;
}
public String toString(){
return "Ini adalah "+tipe;
}
public void bersuara(){
}
}
class Anjing extends Hewan{
private String nama;
private String jenis;
public Anjing(String nama){
super("Anjing");
this.nama = nama;
jenis = "tidak diketahui";
}
public Anjing(String nama, String jenis){
super("Anjing");
this.nama = nama;
this.jenis = jenis;
}
public void bersuara(){
System.out.println("Guk guk guk");
}
public String toString(){
return super.toString()+"\nIni adalah "+jenis+" bernama "+nama;
}
}
class Ayam extends Hewan{
private String nama;
private String jenis;
public Ayam(String nama){
super("Ayam");
this.nama = nama;
this.jenis = "Tidak diketahui";
}
public Ayam(String nama, String jenis){
super("Ayam");
this.nama = nama;
this.jenis = jenis;
}
public String toString(){
return super.toString()+"\nIni adalah "+jenis+" bernama "+nama;
}
public void bersuara(){
System.out.println("Kukuruyuk petok petok");
}
}
class Kucing extends Hewan{
private String nama;
private String jenis;
public Kucing(String nama){
super("Kucing");
this.nama = nama;
this.jenis = "Tidak diketahui";
}
public Kucing(String nama, String jenis){
super("Kucing");
this.nama = nama;
this.jenis = jenis;
}
public void bersuara(){
System.out.println("Meong meong meong");
}
public String toString(){
return super.toString()+"\nIni adalah "+jenis+" bernama "+nama;
}
}
class Polimorfisma{
public static void main(String args[]){
Hewan[] hewannya = {
new Anjing("Broni", "Herder"),
new Kucing("Kiti", "Persia"),
new Ayam("Toki", "Buras")
};
Hewan pilihHewan;
Random pilih = new Random();
for (int i = 0; i<5 ; i++){
pilihHewan = hewannya[pilih.nextInt(hewannya.length)];
System.out.println("\nPilihan Anda:\n" + pilihHewan);
pilihHewan.bersuara();
}
}
}

Inti Polimorfisma terdapat pada kode :
Hewan[] hewannya = {
new Anjing("Broni", "Herder"),
new Kucing("Kiti", "Persia"),
new Ayam("Toki", "Buras")
};
Nama variabel hewannya memiliki tipe objek Hewan, sedangkan anggota array
hewannya merupakan objek – objek yang merupakan subclass hewan yaitu
Anjing, Kucing dan Ayam.
Perhatikan kode berikut :
Random pilih = new Random();
Kode ini membuat objek Random yang dapat digunakan untuk menghasilkan
bilangan random.
pilihHewan = hewannya[pilih.nextInt(hewannya.length)];
kode pilih.nextInt(hewannya.length) berfunsi untuk menghasilkan bilangan
integer antara 0 sampai hewanya.length.