Masih seputar java, kali ini saya akan sharing mengenai apa yang baru saja saya pelajari (efek pelatihan java, baca di postingan sebelumnya), jika kemarin saya bahas mengenai overloadmethod, sekarang saya akan sharing mengenai Polimorfisme pewarisan (Inheritance) di dalam java.
Untuk menerapkan konsep pewarisan, Java menyediakan keyword extends yang dapat dipakai pada waktu mendeklarasikan suatu class. Contoh berikut merupakan implementasi dari dari hierarki class Binatang di atas.
Polimorfisme bisa diartikan satu bentuk banyak aksi. Dalam pewarisan polimorfisme dapat kita lakukan. Kita data memerintah sebuah objek untuk melakukan tindakan yang secara prinsip sama tapi secara proses berbeda.
sekarang saya akan memberikan contoh kasus sederhana mengenai Polimorfisme. Diceritakan bahwa senjata merupakan induk dari pistol, senapan, meriam, dsb. Dengan kata lain bahwa senjata merupakan pewaris sifat yang bisa diturunkan ke anak-anaknya.
Lalu kita buat objek tentara yang bisa menggunakan berbagai macam senjata dengan efek yang berbeda-beda. Nah inilah yang disebut Polimorfisme (banyak aksi). Dalam kasus ini, kita harus memasukan peluru terlebih dahulu dengan methode reload sebelum melakukan tembak.
Mari kita buat program sederhananya.
Pertama buat project dengan nama senjata
Lalu buat class dengan nama Senjata.javapackage senjata;Lalu buat class anaknya yang sifatnya seperti induknya yaitu
/**
*
* @author Anggun Patriana
*/
public class Senjata {
protected int jumlahPeluru = 0;
public void reload(int jml){
this.jumlahPeluru +=jml;
}
public void tembak(){
}
}
1. class Pistol.javapackage senjata;2. class Senapan.java
/**
*
* @author Anggun Patriana
*/
public class Pistol extends Senjata {
@Override
public void tembak(){
if(this.jumlahPeluru>0){
--this.jumlahPeluru;
System.out.println("Dor..........");
}else{
System.out.println("Please Reload");
}
}
}package senjata;3. class Meriam.java
/**
*
* @author Anggun Patriana
*/
public class Senapan extends Senjata {
@Override
public void tembak(){
if(this.jumlahPeluru>0){
--this.jumlahPeluru;
System.out.println("Duaaaaaaaaaaaaaaaar... ");
}else{
System.out.println("Please Reload");
}
}
}package senjata;Lalu kita buat class Tentara.java
/**
*
* @author Anggun Patriana
*/
public class Meriam extends Senjata {
@Override
public void tembak(){
if(this.jumlahPeluru>0){
--this.jumlahPeluru;
System.out.println("Booooooom..........");
}else{
System.out.println("Please Reload");
}
}
}package senjata;Terakhir kita buat class DemoSenjata.java yang akan mengeksekusi program yang kita buat.
/**
*
* @author Anggun Patriana
*/
public class Tentara {
private String nama;
private Senjata senjata;
public void menembak(){
this.senjata.tembak();
}
public void mereload(int jml){
this.senjata.reload(jml);
}
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
public void setSenjata(Senjata sj) {
this.senjata = sj;
}
}package senjata;Outputnya :
/**
*
* @author Anggun Patriana
*/
public class DemoSenjata {
public static void main (String[] args){
Senjata sj = new Pistol();
Tentara tentara = new Tentara();
tentara.setNama("Rambo");
tentara.setSenjata(sj);
tentara.menembak();
tentara.mereload(2);
tentara.menembak();
tentara.menembak();
sj = new Senapan();
tentara.setSenjata(sj);
tentara.mereload(3);
tentara.menembak();
tentara.menembak();
tentara.menembak();
tentara.menembak();
sj = new Meriam();
tentara.setSenjata(sj);
tentara.mereload(1);
tentara.menembak();
tentara.menembak();
}
}
Bagaimana? mudahkan? Selamat mencoba :)
Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com
atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :