selamat pagi sahabat blogger, walau siang maupun malam tetap selamat pagi dan semangat pagi terus :DPada kesempatan kali ini saya akan menjelaskan tentang teori everiding dan overloading. Oveloading itu nama method sama dan isinya sama tapi deklarasi parameternya berbeda. Sedangkan overiding nama methodnya sama dan isinya sama atau dapat dikatakan kemampuan subclass yang dapat memodifikasi method dan superclassnya dengan mendefinisikan kembali method superclassnya.Di program ini akan membedakan gaji pegawai antara :1) Bos2) Pegawai Tetap3) Pegawai KontrakDari data di atas dapat di simpulkan diperlukan SuperClass Pegawai dan SubClass yang berisi data Bos, Pegawai Tetap, Pegawai Kontrak, dan program utama (main program). Kita harus membuat 5 class.Pertama, kita buat
superclassnya dulu, buat class dengan nama gaji, karna kita akan membuat database gaji. kemudian ini adalah scriptnya :package sistemPegawai;
//Superclass gaji pegawai
public class gaji {
int nama;
int gajiBersih;
int gajii=1500000;
//fungsi overiding
void nama(){
System.out.print("PT Tunas Mekar");
}
void jumlah(){
System.out.print("Gaji pokok pegawai= " +gajii);
}
}
public class gaji {
int nama;
int gajiBersih;
int gajii=1500000;
//fungsi overiding
void nama(){
System.out.print("PT Tunas Mekar");
}
void jumlah(){
System.out.print("Gaji pokok pegawai= " +gajii);
}
}
Selanjutnya buat subclas bos, scriptnya sebagai berikut :
package sistemPegawai;public class bos extends gaji{
int totalB;
public void kehadiran(){
System.out.println("Nama = Azka");
}
void gajiBos(int setor){
totalB=setor+gajii;
System.out.print("Gaji bos= " + totalB);
}
}
Selanjutnya buat class pegawaiKontrak
package sistemPegawai;
public class pegawaiKontrak extends gaji{
int totalgajikt;
public void kehadiran(){
System.out.println("Nama = Sarno");
}
void gajiPegawaiKontrak(int gajiTambahan){
totalgajikt=gajiTambahan+gajii;
System.out.print("Gaji bos= " + totalgajikt);
}
}
Selanjutnya buat class pegawaiTetap, berikut adalah scriptnya :
package sistemPegawai;
public class PegawaiTetap extends gaji{
int gajiLembur = 500;
int totalgajiPt;
int jumlahLembur;
//overiding
public void kehadiran(){
System.out.println("Nama = Indra");
}
void gajiPegawaiTetap(int jumlahLembur){
gajiLembur= gajiLembur*jumlahLembur;
totalgajiPt=gajiLembur+gajii;
System.out.print("Gaji bos= " + totalgajiPt);
}
}
Setelah semua selesai, sekarang kita buat program mainnya untuk menjalankan program tersebut, berikut adalah script main programnya :
package sistemPegawai;
public class mainC {
public static void main(String[] args) {
gaji objSuper = new gaji();
bos objSubA = new bos();
PegawaiTetap objSubB = new PegawaiTetap();
pegawaiKontrak objSubC = new pegawaiKontrak();
System.out.print("Gaji Pokok \n");
objSuper.nama();
objSuper.jumlah();
System.out.print("\n\n");
System.out.print("Gaji Bos \n");
objSubA.kehadiran();
objSubA.gajiBos(2000000);//overloading
System.out.print("\n\n");
System.out.print("Gaji Pegawai Tetap \n");
objSubB.kehadiran();
objSubB.gajiPegawaiTetap(20);//input jumlah lembur_overloading(memasukan data)
System.out.print("\n\n");
System.out.print("Gaji Pegawai Kontrak \n");
objSubC.kehadiran();
objSubC.gajiPegawaiKontrak(2500);//innput gaji tambahan
System.out.print("\n\n");
}
}
Tidak ada komentar:
Posting Komentar