Jumat, 21 Oktober 2011

Contoh Program Pewarisan dan Polimorfisme


 1.Pewarisan

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.java
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.java
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());
}
}

2.Inheritance (Pewarisan / Turunan )

Contoh dalam program :
OrangTua.Java
class OrangTua{
String a = “Penyabar”;
char b = ‘A’;
void sifatOrangTua(){
System.out.println(“Sifat Orang Tua : “+a);
System.out.println(“Golongan Darah : “+b);
}
}
Anak.Java
class Anak extends OrangTua{
String c = “Nakal”;
public void sifatAnak(){
System.out.println(“Sifat Anak : “+c);
}
}
AnakAnak.Java
public class AnakAnak{
public static void main(String[]args){
Anak anakku = new Anak();
anakku.sifatOrangTua();
anakku.sifatAnak();
}
}

3. (Pewarisan)
Contoh program javanya :
Simpan dengan nama SmartMahasiswa.java
Public class SmartMahsiswa extends Mahasiswa{
}
Simpan dengan nama Main.java
public class Main{
public static void main(String[] args]) {
SmartMahasiswa mhs = new SmartMahasiswa();
mhs.setNim(“090840045”);
mhs.setNama(“Rio Patra Rumahorbo”);
mhs.printNim();
mhs.printNama();
}
}
kemudian jalankan
C:\>javac SmartMahasiswa.java
C:\>javac Main.java
C:\>java Main

Kontruksi objek mahasiswa
Nim:090840045
Nama: Rio Patra Rumahorbo
C:\>


1.Contoh Program Java Yang Menggunakan Polimorfisme :

//Class kendaraan.java  
  public class Kendaraan {
private int posisi;
public Kendaraan(int posisi) {  
 this.posisi = posisi;  
}
public void Move() {  
 return;  
}
public int getPosisi() {  
 return posisi;  
}  
public void setPosisi(int posisi) {  
 this.posisi = posisi;  
}  
}  
//Class motor.java  
  public class Motor extends Kendaraan {  
  public Motor(int posisi) {  
  super(posisi);  
}  
@Override  
public void Move() {  
  setPosisi(getPosisi() + 30);  
}  
}  
//Class motor.java  
public class Motor extends Kendaraan {  
public Motor(int posisi) {  
  super(posisi);  
}  
  @Override  
public void Move() {  
  setPosisi(getPosisi() + 30);  
  }  
//Class pesawat.java  
  public class Pesawat extends Kendaraan {  
public Pesawat(int posisi) {  
    super(posisi);  
}  
  @Override  
public void Move() {  
    setPosisi(getPosisi() + 300);  
}  
}
  
//Class Main.java  
  
public class Main {  
    public static void main(String[] args) {  
        Kendaraan kendaraan[] = new Kendaraan[3];  
        int posisi = 10;  
        kendaraan[0] = new Motor(posisi);  
        kendaraan[1] = new Mobil(posisi);  
        kendaraan[2] = new Pesawat(posisi);  
        System.out.println("Intansiasi 3 Object Turunan Class Kendaraan");  
        System.out.println(" -kendaraan[0] merupakan instantsiasi dari class "  
                + "Motor dengan posisi awal " + posisi);  
        System.out.println(" -kendaraan[1] merupakan instantsiasi dari class "  
                + "Mobil dengan posisi awal " + posisi);  
        System.out.println(" -kendaraan[2] merupakan instantsiasi dari class "  
                + "Pesawat dengan posisi awal " + posisi);  
        for (int i = 0; i < kendaraan.length(); i++) {  
            System.out.println("Object [" + i + "] memanggil method move");  
            System.out.println("Posisi sebelum method move() dipanggil : " + kendaraan[i].getPosisi());  
            kendaraan[i].Move();  
            System.out.println("Posisi setelah method move() dipanggil : " + kendaraan[i].getPosisi());  
            System.out.println();  
        }  
  
    }  
}  


Selain itu, dalam java juga dikenalkan sebuah keyword untuk mengetahui bentuk instance suatu object, yaitu instanceof untuk penggunaannya mari kita modifikasi saja main.java dari program diatas sehingga menjadi seperti berikut ini

public class Main {
  public static void main(String[] args) {
      Kendaraan kendaraan[] = new Kendaraan[3];  
     int posisi = 10;  
      kendaraan[0] = new Motor(posisi);  
      kendaraan[1] = new Mobil(posisi);  
      kendaraan[2] = new Pesawat(posisi);  
      if (kendaraan[0instanceof Motor) {  
          System.out.println("Kendaraan[0] merupakan instanceof Motor");  
      }  
      if (kendaraan[1instanceof Motor) {  
          System.out.println("Kendaraan[1] merupakan instanceof Motor");  
      }  
  }  
}  


Polimorfisme adalah metode yang digunakan untuk menyatakan satu nama yang merujuk
ke beberapa fungsi berbeda.
Java mengimplementasikan polimorfisme dengan 2 cara, yaitu:
1. Methode overloading
2. Methode overriding dengan pewarisan

2. Contoh Polimorfisme Overloading
public class Matematika
{public int max (int bil1, int bil2)
{System.out.println(“max integer”);
return (bil1 < bil2 ? bil2 : bil1);
}public float max (float bil1, float bil2)
{System.out.println(“max float”);
return (bil1 < bil2 ? bil2 : bil1);
}public double max (double bil1, double bil2)
{System.out.println(“max double”);
return (bil1 < bil2 ? bil2 : bil1);
}}public class Testmax
{public static void main (String args [ ] )
{Matematika test = new Matematika ( );
System.out.println(“3 dan 4, yang lebih besar :”
+ test.max (3,4));
System.out.println(“3 .3 dan 4.0, yang lebih besar :”
+ test.max (3.3F ,4F));
System.out.println(“3.5 dan 4.0, yang lebih besar :”
+ test.max (3.5, 4.0));
}
}


b) Contoh Polimorfisme Overridding
polimorfisme ini diwujudkan melalui relasi pewarisan
public class.KomunitasUniversitas
{protected String nama ;
protected String alamat ;
/* intansiasi nama dan alamat dengan nilai tertentu */
KomunitasUniversitas (String namaku, String alamatku)
{nama = namaku ;
alamat = alamatku ;
}public void tampilinformasi ( )
{System.out.println (“nama : “+nama) ;
System.out.println (“alamat : “+alamat) ;
}}

public class pegawai extends KomunitasUniversitas
{private int noPegawai ;
private int gajiPokok ;
Pegawai (String namaku, String alamatku, int noPegawaiku, int gajiPokokku)
{noPegawai = noPegawaiku :
gajiPokok = gajiPokokku :
}public void tampilinformasi ( )
{System.out.println(“NoPegawaiku ; “+noPegawai);
System.out.println(“GajiPokokku ; “+gajiPokok);
}
}

3.Contoh Polimorfisme Di Java

public class Orang {

    public String nama;


    public String alamat;




    //Constructor...

    public Orang(){


        }




    public Orang(String nama) {

        this.nama = nama;


    }

    public Orang(String nama,String alamat){


        this.nama=nama;

        this.alamat=alamat;


    }

    //accessor method mengembalikan nilai


    public String getName(){

        return nama;


        }

    //mutator methode untuk mengubah nilai dari instance.


   public void setName(String nama){

           this.nama = nama;


       }

}
Mahasiswa.java

public class Mahasiswa extends Orang{




    String jeniskelamin;

    public Mahasiswa() {


        //super digunakan untuk memanggil constructor terdekat pada kelas Orang.

        super("andi");


    }

    //overidde methode dari kelas Orang..


    public String getName(){

        return nama;


        }

    public void setName(String nama){


        this.nama = nama;

        }




}

Pekerja.java

public class Pekerja extends Orang{




    public Pekerja() {

        super("suparlan");


    }

    //ovveride dari kelas Person


    public String getName(){

        return nama;


        }

    public void setName(String nama){


        this.nama = nama;

        }




}
CallOrang.java : memanggil semua class…intinya sebagai pusat pemanggilan.


public class CallOrang {




   public static void main(String[] args){

        //contoh polimorfisme di java


        Orang call;

        Mahasiswa m = new Mahasiswa();


        Pekerja n = new Pekerja();




        //memanggil dari kelas mahasiswa

        call = m;


        String smp = call.getName();

        System.out.println("aku dari bagian Mahasiswa : " +            smp);


        //memanggil dari kelas pekerja

        call = n;


        String sma = call.getName();

        System.out.println("aku dari bagian Pekerja : " + sma);


       }

1 komentar:

  1. Nice share gan, untuk contoh polimorfisme yang lainnya bisa kunjungi :

    http://top-ilmu.blogspot.com/2012/11/contoh-program-java-polimorfisme.html

    BalasHapus