Baik untuk semua para pembaca...., kali ini saya akan
meneruskan tulisan blog saya. Sebelumnya saya sudah menuliskan materi tentang
Perbedaan pemrograman terstruktur
dengan pemrograman berbasis objek dan serta penjelasan tentang Encapsulation atau sering kita sebut
dengan metode pengkapsulan. Untuk sekarang saya akan melanjutkan materi tulisan
saya tentang Pewarisan (Inheritance)
dan Polimorfisme (Polymorphism)
beserta dengan contoh – contohnya. Baik Para pembaca kita langsung saja ya ke
materi selanjutnya........
A. Pewarisan ( Inheritance )
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.
Keterangan : Extend Artinya
Diturunkan
Contoh
Program Inheritance :
Simpan
Program dengan nama programinheritance.java
// membuat
kelasA untuk dibuat sebagai SuperClass
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=50;
superClass.y=100;
superClass.tampilnilaixy();
System.out.println("\nSubClass
adalah Kelas B");
subClass.x=2;
subClass.y=4;
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 Program
B. 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 Polymorphisme :
import java.*;
import java.io.*;
// membuat
kelas untuk di jadikan bentuk objek dan sebagai superclass
class bentukwajah{
public
String respons(){
return("perhatikan
reaksi wajah saya\n");
}
}
// membuat
kelas untuk di jadikan bentuk objek dan sebagai subclass dari kelas bentukwajah
class senyum extends bentukwajah{
public
String respons(){
return
(" senyum karena senang\n");
}
}
class tertawa extends bentukwajah{
public
String respons(){
return
(" tertawa karena gembira\n");
}
}
class marah extends bentukwajah{
public
String respons(){
return
(" marah karena kesal\n");
}
}
class sedih extends bentukwajah{
public
String respons(){
return
(" sedih karena kecewa\n");
}
}
// Program
utama
class programpolimorpis{
//
method main
public
static void main (String []args){
System.out.println("\nprogram
polimorpis");
System.out.println("----------------------------------------\n");
//
membuat objek – objek raut (ekspresi) dari wajah
bentukwajah
objbentuk = new bentukwajah();
senyum
objsenyum = new senyum();
tertawa
objtertawa = new tertawa();
marah
objmarah = new marah();
sedih
objsedih = new sedih();
//
polimorpis dari bentuk wajah ada lima dimulai dari 0-4
bentukwajah
[] bentuk=new bentukwajah[5];
bentuk[0]=
objbentuk;
bentuk[1]=
objsenyum;
bentuk[2]=
objtertawa;
bentuk[3]=
objmarah;
bentuk[4]=
objsedih;
System.out.println("Bentuk
[0]:"+bentuk[0].respons());
System.out.println("Bentuk
[1]:"+bentuk[1].respons());
System.out.println("Bentuk
[2]:"+bentuk[2].respons());
System.out.println("Bentuk
[3]:"+bentuk[3].respons());
System.out.println("Bentuk
[4]:"+bentuk[4].respons());
}
}
Output Program
Tidak ada komentar:
Posting Komentar