Rabu, 18 April 2012

Inheritas & Polimorfisme pada Java

Nama : Debby Ayu Permata Sari
Kelas : 2ia13
NPM : 51410723
PBO
Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
 
Java mengimplementasikan polimorfisme dengan 2 cara yaitu:
a. 1.Methode overloading
b. 2.Methode Overriding dengan pewarisan
Contoh program polimorfisme:

1. Base classnya orang.java

package test.polimorfisme;
public class Orang {
protected String name;
protected String address;

/** konstruktor tanpa parameter **/
public Orang() {
System.out.println("konstruktor dalam kelas Orang");
name = "";
address = "";
}

/** konstruktor dengan parameter nama, address **/
public Orang(String name, String address) {
this.name = name;
this.address = address;
}

/** method accessor **/
public String getAddress() {
return address;
}

public void setAddress(String address) {
this.address = address;
}

public String getName() {
System.out.println("Nama orang : " + name);
return name;
}

public void setName(String name) {
this.name = name;
}
}


2. Lalu buat juga siswa.java sebagai penurunan yg pertama
package test.polimorfisme;
public class Siswa extends Orang {

Siswa(String name, String address) {
super(name, address);
}
@Override
public String getName() {
System.out.println("Nama Siswa : " + name);
return name;
}
}

3. Lalu karyawan.java sebagai yang kedua
package test.polimorfisme;
public class Karyawan extends Orang {

Karyawan(String name, String address) {
super(name, address);
}
@Override
public String getName(){
System.out.println("Nama Kayawan : " + name);
return name;
}
}

4. Dan testapp.java untuk menjalankan program ini
package test.polimorfisme;
public class TestApp {
public static void main(String[] args) {
Orang ref;

Siswa objSiswa = new Siswa("chester", "yellowen");
Karyawan objKaryawan = new Karyawan("Tokihiro", "Osaka");

/** orang merujuk kepada objek siswa **/
ref = objSiswa;
ref.getName();

/** orang merujuk kepada objek karyawan **/
ref = objKaryawan;
ref.getName();
}
}

Maka outputnya adalah:

* Inheritas- Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada - objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas..

contoh program sederhana menggunakan konsep OOP :
class orang{
String nama ="gunk vera";
String Umur="19th";
String nim="09101136";

public static void main (String []args){
    orang obj=new orang();

    System.out.println("Nama :...."+obj.nama);
    System.out.println("Umur :...."+obj.Umur);
    System.out.println("nim :...."+obj.nim);
}
}
 teman kerja : Diah PermataSari (http://diahpermatasari19.blogspot.com/  )

1 komentar:

  1. Latihan OOP (Inheritas)

    I. Desainlah inheritas relasi antar kelas yang ada di bawah ini, serta isi attribut/instance variabel dan methodnya. Dan dijelaskan relasinya!
    Universitas
    - Matakuliah
    - Nim
    - Kelas
    - Jadwal
    - Dll
    Method/behavior
    Khs()
    Rektor


    Dosen




    Akademik (Baa)


    Mahasiswa




    II. Buatlah desain tabel inheritas dan hirarki tree dari kasus diatas! (contoh ada di slide saya)

    III. Buatlah program inheritas sederhana dari kasus diatas!

    BalasHapus