polimorfisme adalah turunan dari bahasa latin yang artinya banyak bentuk.. nah ap maksudnya???
maksudnya adalah polimorfisme mengizinkan kelas induk mendefinisikan sebuah method general untuk semua kelas turunannya, dan selanjutnya kelas turunandapat memperbaharui implementasi dari method tersebut secara lebih spesifik sesuai dengan karakteristiknya masing masing.
gimana udah paham??? kalo lom paham mari langsung ke source codenya..
kita akan membuat aplikasi penghitung gaji pegawai sederhana yang memiliki 3 aktor.
pertama kita buat class pegawai sebagai induk class-nya..
public class Pegawai {
public int gaji;
public void hitungGaji(){
return;
}
}
selanjutnya kita buat aktor yang pertama yaitu direkturpublic int gaji;
public void hitungGaji(){
return;
}
}
import javax.swing.JOptionPane;
/**
*
* @author syauqil
*/
public class Direktur extends Pegawai {
@Override
public void hitungGaji() {
try {
gaji = Integer.parseInt(JOptionPane.showInputDialog("Masukkan gaji"));
int tunjanganF = Integer.parseInt(JOptionPane.showInputDialog("Masukkan Tunjangan Fungsional" ));
int tunjanganJ = Integer.parseInt(JOptionPane.showInputDialog("Masukkan Tunjangan jabatan"));
JOptionPane.showMessageDialog(null, "Gaji Direktur adalah:\n"
+ (gaji + tunjanganF + tunjanganJ));
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Karakter yang Anda masukkan tidak sesuai");
}
}
}
aktor selanjutnya adalah manager/**
*
* @author syauqil
*/
public class Direktur extends Pegawai {
@Override
public void hitungGaji() {
try {
gaji = Integer.parseInt(JOptionPane.showInputDialog("Masukkan gaji"));
int tunjanganF = Integer.parseInt(JOptionPane.showInputDialog("Masukkan Tunjangan Fungsional" ));
int tunjanganJ = Integer.parseInt(JOptionPane.showInputDialog("Masukkan Tunjangan jabatan"));
JOptionPane.showMessageDialog(null, "Gaji Direktur adalah:\n"
+ (gaji + tunjanganF + tunjanganJ));
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Karakter yang Anda masukkan tidak sesuai");
}
}
}
import javax.swing.JOptionPane;
/**
*
* @author syauqil
*/
public class Manager extends Pegawai {
@Override
public void hitungGaji() {
try {
gaji = Integer.parseInt(JOptionPane.showInputDialog("Masukkan gaji"));
int gajiTunjangan = Integer.parseInt(JOptionPane.showInputDialog("Masukkan Tunjangan "));
JOptionPane.showMessageDialog(null, "Gaji Manager adalah:\n"
+ (gaji + gajiTunjangan));
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Karakter yang Anda masukkan tidak sesuai");
}
}
}
aktor yang terakhir adalah OB/**
*
* @author syauqil
*/
public class Manager extends Pegawai {
@Override
public void hitungGaji() {
try {
gaji = Integer.parseInt(JOptionPane.showInputDialog("Masukkan gaji"));
int gajiTunjangan = Integer.parseInt(JOptionPane.showInputDialog("Masukkan Tunjangan "));
JOptionPane.showMessageDialog(null, "Gaji Manager adalah:\n"
+ (gaji + gajiTunjangan));
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Karakter yang Anda masukkan tidak sesuai");
}
}
}
import javax.swing.JOptionPane;
/**
*
* @author syauqil
*/
public class OB extends Pegawai {
@Override
public void hitungGaji() {
try {
gaji = Integer.parseInt(JOptionPane.showInputDialog("Masukkan gaji"));
int makan = Integer.parseInt(JOptionPane.showInputDialog("Masukkan Uang makan"));
JOptionPane.showMessageDialog(null, "Gaji OB adalah:\n"
+ (gaji + makan));
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Karakter yang Anda masukkan tidak sesuai");
}
}
}
Nah sekarang tinggal buat class main serta nerapin konsep polimorfisme yang menjadi bahasan kita kali ini/**
*
* @author syauqil
*/
public class OB extends Pegawai {
@Override
public void hitungGaji() {
try {
gaji = Integer.parseInt(JOptionPane.showInputDialog("Masukkan gaji"));
int makan = Integer.parseInt(JOptionPane.showInputDialog("Masukkan Uang makan"));
JOptionPane.showMessageDialog(null, "Gaji OB adalah:\n"
+ (gaji + makan));
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Karakter yang Anda masukkan tidak sesuai");
}
}
}
import javax.swing.JOptionPane;
/**
*
* @author syauqil
*/
public class main {
public static void main(String[] args) {
Pegawai pegawai = new Pegawai();
Manager manager = new Manager();
Direktur direktur = new Direktur();
OB ob = new OB();
String pilihan = JOptionPane.showInputDialog(null, "Pilihan :\n"
+ "1. Manager \n"
+ "2. Direktur \n"
+ "3. OB");
int pilih = Integer.parseInt(pilihan);
switch (pilih) {
case 1:
pegawai = manager;
pegawai.hitungGaji();
break;
case 2:
pegawai = direktur;
pegawai.hitungGaji();
break;
case 3:
pegawai = ob;
pegawai.hitungGaji();
break;
default:
break;
}
}
}
/**
*
* @author syauqil
*/
public class main {
public static void main(String[] args) {
Pegawai pegawai = new Pegawai();
Manager manager = new Manager();
Direktur direktur = new Direktur();
OB ob = new OB();
String pilihan = JOptionPane.showInputDialog(null, "Pilihan :\n"
+ "1. Manager \n"
+ "2. Direktur \n"
+ "3. OB");
int pilih = Integer.parseInt(pilihan);
switch (pilih) {
case 1:
pegawai = manager;
pegawai.hitungGaji();
break;
case 2:
pegawai = direktur;
pegawai.hitungGaji();
break;
case 3:
pegawai = ob;
pegawai.hitungGaji();
break;
default:
break;
}
}
}
Gimana?? mudah sekali bukan...
sekian terima kasih.. salam JAVATAR..
No comments:
Post a Comment