Pewarisan
adalah memberikan atau mewariskan sesuatu kepada keturunan berikutnya.
Misalnya, seorang anak pasti akan mewarisi beberapa sifat atau prilaku yang
dimiliki oleh ibu atau bapaknya. Dalam konteks ini, suatu kelas dalam program dapat
diturunkan menjadi kelas – kelas baru lainnya yang akan mewarisi beberapa sifat
atau prilaku dari kelas induknya. Sebagai contoh, apabila anda memiliki kelas A
dalam program yang anda buat, maka anda dapat membentuk kelas – kelas turunan
dari kelas A tersebut (misalnya kelas B) yang mewarisi sifat- sifat yang
terkandung dalam kelas A. Dalam proses pembuatan kelas turunan tersebut, anda
dapat menambahkan sifat dan prilaku baru kedalam kelas B, yang sebelumnya tidak
dimiliki dalam kelas A. Dalam terminologi Java, kelas induk dinamakan superclass dan kelas turunan disebut
dengan Subclass. Untuk membuat kelas
anak atau subclass berdasarkan kelas yang telah ada, anda dapat gunakan kata
kunci extend dalam mendeklarasikan
class. Sebuah kelas hanya dapat meng-extend satu kelas induk.
Contoh Program :
import javax.swing.*;
class kelasA{
int x,y;
void tampilnilaixy(){
System.out.println("Nilai X : " + x + " nilai Y : " + y);
}
}
//kelasB adalah Extend(turunan) dari kelasA
class kelasB extends kelasA{
int z;
void tampilkanjumlah(){
System.out.println("\n");
System.out.println("jumlah x+y+z = "+(x+y+z));
System.out.println("\n");
}
}
//class programinheritance berikut adalah extends (turunan) dari kelasB
class programinheritance {
public static void main (String []args){
kelasA superClass = new kelasA();
kelasB subClass = new kelasB();
System.out.println("\n");
System.out.println("Program Inheritance ");
System.out.println("============================");
System.out.println("\n");
System.out.println("SuperClass adalah Kelas A");
superClass.x=70;
superClass.y=100;
superClass.tampilnilaixy();
System.out.println("\nSubClass adalah Kelas B");
subClass.x=4;
subClass.y=8;
subClass.tampilnilaixy();
// membuat inputan melalui keyboard dengan menggunakan JoptionPane
// yang di deklarasikan pada import javax.swing.*; pada bagian atas.
String data1 = JOptionPane.showInputDialog("Masukkan Nilai Z : ");
subClass.z=Integer.parseInt(data1);
System.out.println ("Nilai Z yang Dimasukkan : "+subClass.z);
subClass.tampilkanjumlah();
}
}
class kelasA{
int x,y;
void tampilnilaixy(){
System.out.println("Nilai X : " + x + " nilai Y : " + y);
}
}
//kelasB adalah Extend(turunan) dari kelasA
class kelasB extends kelasA{
int z;
void tampilkanjumlah(){
System.out.println("\n");
System.out.println("jumlah x+y+z = "+(x+y+z));
System.out.println("\n");
}
}
//class programinheritance berikut adalah extends (turunan) dari kelasB
class programinheritance {
public static void main (String []args){
kelasA superClass = new kelasA();
kelasB subClass = new kelasB();
System.out.println("\n");
System.out.println("Program Inheritance ");
System.out.println("============================");
System.out.println("\n");
System.out.println("SuperClass adalah Kelas A");
superClass.x=70;
superClass.y=100;
superClass.tampilnilaixy();
System.out.println("\nSubClass adalah Kelas B");
subClass.x=4;
subClass.y=8;
subClass.tampilnilaixy();
// membuat inputan melalui keyboard dengan menggunakan JoptionPane
// yang di deklarasikan pada import javax.swing.*; pada bagian atas.
String data1 = JOptionPane.showInputDialog("Masukkan Nilai Z : ");
subClass.z=Integer.parseInt(data1);
System.out.println ("Nilai Z yang Dimasukkan : "+subClass.z);
subClass.tampilkanjumlah();
}
}
Output :
Polimorfisme ( Polymorphisme )
Polimorfisme
adalah suatu kejadian ketika objek dapat mengungkap banyak hal melalui suatu
cara yang sama. Secara harfiah, poli berarti “banyak” dan morph berarti
“bentuk”. Jadi, polimorphisme berarti “mempunyai banyak bentuk”. Sebagai
contoh, ada kelas A yang diturunkan menjadi kelas B,C, dan D. Dengan konsep
Polimorfisme, anda dapat menjalankan method – method yang terdapat pada kelas
B,C, dan D hanya dari objek yang diinstansiasi dengan kelas A. Polimorfisme
memungkinkan anda mengenali kesamaam diantara kelas yang berbeda. Polimorfisme
sering dinamakan dengan Dynamic binding,
late binding, atau runtime binding.
Contoh Program :
import java.*;
import java.io.*;
// membuat kelas untuk di jadikan bentuk objek dan sebagai superclass
class menu{
public String respons(){
return("Pilih Menu :\n");
}
}
// membuat kelas untuk di jadikan bentuk objek dan sebagai subclass dari kelas bentukwajah
class sub1 extends menu{
public String respons(){
return (" Gado-Gado\n");
}
}
class sub2 extends menu{
public String respons(){
return (" Ketoprak\n");
}}
// Program utama
class MenuUtama{
// method main
public static void main (String []args){
System.out.println("\nMenu Betawi");
System.out.println("----------------------------------------\n");
// membuat objek – objek raut (ekspresi) dari wajah
menu objmenu1 = new menu();
sub1 objsub1 = new sub1();
sub2 objsub2 = new sub2();
// polimorpis dari bentuk wajah ada lima dimulai dari 0-4
menu [] bentuk=new menu[5];
bentuk[0]= objmenu1;
bentuk[1]= objsub1;
bentuk[2]= objsub2;
System.out.println(bentuk[0].respons());
System.out.println("Menu 1 :"+bentuk[1].respons());
System.out.println("Menu 2 :"+bentuk[2].respons());
}}
Output :
Nama : Muhammad Fahri
NPM : 54410679
Kelas : 2IA14
Partner
Nama : Faisal Muslim
NPM : 59410127
Kelas : 2IA14
Blog : icalable.blogspot.com
Tanggal : 20-04-2012
Tanggal : 20-04-2012