Inheritance dan Polimorfisme pada Java
disertai contoh program
Inheritance
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.
Semua class dalam Java, termasuk class yang membangun Java API, merupakan subclass dari superclass Object.
# Superclass adalah class induk atau class orang tua, class yang letaknya di atas class tertentu di dalam hierarki.
# Subclass adalah class anak. Semua property, methode, ataupun konstruktor yang dimiliki oleh superclass jika diwariskan, maka subclass memiliki semua yang dimiliki oleh superclass.
Contoh Program :
public class Striker extends posisi {
public static void main (String[]args){
Striker a = new Striker();
a.cetak1();
a.cetak2();
}
}
class posisi {
public void cetak1(){
System.out.println("Saya di posisi depan !");}
protected void cetak2(){
System.out.println("I am a Striker !");}
private void cetak3(){
System.out.println("P=" +P);
}
int P = 8;
}
Listing
Output
Keuntungan penggunaan Inheritance dalam OOP : Reusability
Ketika behavior(method) dideklarasikan dalam superclass, behavior tersebut otomatis diwariskan ke seluruh subclass
Jadi, Anda dapat meng-enkode method hanya sekali dan method tersebut dapat digunakan oleh seluruh subclass
Sebuah subclass hanya perlu mengimplementasikan perbedaan antara dirinya sendiri dan parent-nya.
Polimorfisme
Suatu kemampuan dari sebuah object untuk membolehkan mengambil beberapa bentuk yang berbeda agar tidak terjadi duplikasi object kita kenal sebagai polymorphism.
Antara penurununan sifat (inheritance) maupun polymorphism merupakan konsep yang memungkinkan digunakannya suatu interface yang sama untuk memerintah objek agar melakukan aksi atau tindakan yang mungkin secara prinsip sama namun secara proses berbeda. Dalam konsep yang lebih umum sering kali polymorphism disebut dalam istilah tersebut.
Contoh Program :
//Membuat Class hewan
class hewan {
public void suara (){
System.out.println("Hewan bersuara :");
}
}
// Membuat kelas turunan kuda yang merupakan turunan dari class hewan :
class kuda extends hewan {
public void suara(){
System.out.println("Kuda mengikik...");
}
}
//Membuat kelas turunan kucing yang merupakan turunan dari class hewan :
class kucing extends hewan {
public void suara (){
System.out.println("Kucing mengeong...");
}
}
//Membuat kelas turunan ayam yang merupakan turunan dari class hewan :
class ayam extends hewan {
public void suara(){
System.out.println("Ayam berkokok...");
}
}
// Membuat class suarahewan untuk mengetes class-class yang telah dibuat :
public class suarahewan {
public static void main(String[] args){
hewan HEWAN = new hewan();
kuda KUDA = new kuda();
kucing KUCING = new kucing();
ayam AYAM = new ayam();
HEWAN.suara();
HEWAN = KUDA;
HEWAN.suara();
HEWAN = KUCING;
HEWAN.suara();
HEWAN = AYAM;
HEWAN.suara();
}
}
Ketika behavior(method) dideklarasikan dalam superclass, behavior tersebut otomatis diwariskan ke seluruh subclass
Jadi, Anda dapat meng-enkode method hanya sekali dan method tersebut dapat digunakan oleh seluruh subclass
Sebuah subclass hanya perlu mengimplementasikan perbedaan antara dirinya sendiri dan parent-nya.
Polimorfisme
Suatu kemampuan dari sebuah object untuk membolehkan mengambil beberapa bentuk yang berbeda agar tidak terjadi duplikasi object kita kenal sebagai polymorphism.
Antara penurununan sifat (inheritance) maupun polymorphism merupakan konsep yang memungkinkan digunakannya suatu interface yang sama untuk memerintah objek agar melakukan aksi atau tindakan yang mungkin secara prinsip sama namun secara proses berbeda. Dalam konsep yang lebih umum sering kali polymorphism disebut dalam istilah tersebut.
Contoh Program :
//Membuat Class hewan
class hewan {
public void suara (){
System.out.println("Hewan bersuara :");
}
}
// Membuat kelas turunan kuda yang merupakan turunan dari class hewan :
class kuda extends hewan {
public void suara(){
System.out.println("Kuda mengikik...");
}
}
//Membuat kelas turunan kucing yang merupakan turunan dari class hewan :
class kucing extends hewan {
public void suara (){
System.out.println("Kucing mengeong...");
}
}
//Membuat kelas turunan ayam yang merupakan turunan dari class hewan :
class ayam extends hewan {
public void suara(){
System.out.println("Ayam berkokok...");
}
}
// Membuat class suarahewan untuk mengetes class-class yang telah dibuat :
public class suarahewan {
public static void main(String[] args){
hewan HEWAN = new hewan();
kuda KUDA = new kuda();
kucing KUCING = new kucing();
ayam AYAM = new ayam();
HEWAN.suara();
HEWAN = KUDA;
HEWAN.suara();
HEWAN = KUCING;
HEWAN.suara();
HEWAN = AYAM;
HEWAN.suara();
}
}
Listing
Output
Sumber :
http://avrilblue.blogspot.com/2011/12/contoh-polimorfisme-dalam-bahasa.html
Nama : Nanda Fitriya Hayati
NPM : 54410908
Kelas : 2IA14
Partner : Nama : Ni Putu Yuan Antaputeri
NPM : 54410952
Kelas : 2IA14
Link : yuanantaputeri.blogspot.com
Tanggal : 19 April 2012