NAMA: Mohammad Ali akbar
NPM: 54410488
KELAS:2IA13
LINK KELOMPOK: http://misterpj.blogspot.com/
Apa itu inheritance dan polimorfisme? Berikan contoh program nya !
1. Inheritance
Inheritance adalah(pewarisan) adalah proses pewarisan data dan method dari suatu kelas ke kelas lainnya. Pewarisan ini bersifat menyeluruh.Semua data dan method milik kelas asalnya diturunkan ke kelas lainnya atau kelas yang baru.
(a).Kelas yang mewariskan dinamakan:(super clas atau kelas induk)
(b).Kelas yang diwariskan dinamakan:(Sub class atau kelas anak)
Contoh program inheritance pada java :
import java.io.*;
public class Musisi {
void kelasmusisi () {
System.out.println("ciri umum dari pemusik adalah mengerti nada-nada");
}}
class Piano extends Musisi {
String x = "Pianis";
void TampilkanPiano () {
System.out.println("dan Musisi yang Anda pilih adalah "+ x );
System.out.println("musisi ini memainkan piano,alat musik yang cara memainkannya dengan di tekan");
System.out.println("nada-nada yang di hasilkan piano tergolong lembut dan hangat");
}}
class gitar extends Musisi {
String x = "Gitaris";
void Tampilkangitar () {
System.out.println("dan Musisi yang Anda pilih adalah "+ x );
System.out.println("musisi ini memainkan alat yang di petik");
System.out.println("nada-nada yang di hasilkan bisa nada-nada keras maunpun nada-nada lembut");
}}
class drum extends Musisi {
String x = "Drummer";
void Tampilkandrum () {
System.out.println("dan Musisi yang Anda pilih adalah "+ x );
System.out.println("Musisi ini memainkan alat yang di pukul");
System.out.println("biasanya musisi ini merupakan patokan beat dari instrument yang lain ");
}}
class Turunan {
public static void main(String[] args) throws IOException{
String sInput = null ;
System.out.println("____JENIS MUSISI____");
System.out.println("[1]. Pianis ");
System.out.println("[2]. Gitaris ");
System.out.println("[3]. Drumer ");
System.out.print("Masukkan pilihan [1..3] :");
Musisi generalx = new Musisi();
Piano turunan1 = new Piano();
gitar turunan2 = new gitar();
drum turunan3 = new drum ();
drum subxc = new drum();
InputStreamReader inputan = new InputStreamReader(System.in);
BufferedReader jm = new BufferedReader(inputan);
sInput = jm.readLine();
int i = Integer.parseInt(sInput);
switch (i) {
case 1 :
generalx.kelasmusisi ();
turunan1.TampilkanPiano ();break;
case 2 :
generalx.kelasmusisi ();
turunan2.Tampilkangitar ();break;
case 3 :
generalx.kelasmusisi ();
turunan3.Tampilkandrum ();break;
default:
System.out.println("Pilihan yang Anda masukkan salah!!");break;
}
}
}
Outputnya :
2. Polimorfisme
Polimorfisme adalah kemampuan untuk mendapatkan bentuk. Dua objek atau lebih dikatakan polimorfis, bila objek-objek itu mempunyai antara muka-antara muka identik namun mempunyai perilaku-perilaku berbeda. Bentuk ini membolehkan kita menganggap sekumpulan objek dengan jenis-jenis berbeda seperti dimiliki oleh suatu jenis yang sama. Polimorfisme merupakan ciri-ciri yang terjadi karena interaksi setiap konsep pewarisan dan dynamic binding.
Contohnya: Pintu dan tingkap mempunyai perilaku yang sama yaitu boleh dibuka dan ditutup, namun untuk menutup tetingkap dilakukan misalnya dari atas ke bawah (vetikal), sedangkan pintu dari depan ke belakang (horizontal).
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:
Refrensi :
http://blogs.mervpolis.com/roller/nikkend/entry/apa_itu_inheritance
http://blogs.mervpolis.com/roller/nikkend/entry/all_about_polimorfisme
http://nur-arianto.blogspot.com/2009/11/inheritance-pada-java.html
http://e12a.wordpress.com/2008/12/30/polimorfisme-dalam-java/