Selamat malam,salam sejahtera buat kita saya akan menjelaskan tentang Tugas ini
pada bab ini kita akan membahas tentang information hidding, inheritance, encapsulation dan polymorphism.
Secara umum, inheritance, encapsulation, dan polymorphism merupakan pilar dasar dalam bahasa pemrograman OOP yaitu pemograman berbasis objek.Inheritance merupakan penurunan atau pewarisan atribut dan method. Kata kunci untuk inheritance adalah "extends".
berikut contoh untuk program inheritance:
public class superclass {
public superclass() {
System.out.println("Ini konstruktor milik SuperClass");
}
public void methodsuperclass() {
System.out.println("Ini method milik SuperClass");
}
}
simpan program diatas dengan nama superclass.java
public class subclass extends superclass {
public subclass () {
super();
}
public void methodsubclass () {
super.methodsuperclass();
}
}
simpan program diatas dengan nama subclass.java
public class demoinheritance{
public static void main(String[] args) {
subclass sc=new subclass();
sc.methodsubclass ();
}
}
simpan program diatas dengan nama demoinheritance.java
Nah, berikut penjelasan dari program diatas:
Kelas superclass merupakan kelas super/kelas induksubclass dan demoinheritance merupakan turunan atau warisan dari kelas induk atau disebut juga dengan sub kelas/kelas anak. Di dalam kelas superclass ada 1 konstruktor. Konstruktor yaitu method yang mempunyai nama yang sama dengan nama kelas. Nah, dari ketiga program diatas, program demoinheritance lah yang akan menampilkan hasil dari 2 kelas lainnya.
Kenapa?
Karena program yang lain tidak mempunyai fungsi utama.
Pada kelas demoinheritance, kita membuat 1 buah objek baru yaitu sc pada kelas subclass. Kemudian perintah berikutnya adalah
sc.methodsubclass(); yang artinya adalah memanggil methodsubclass dengan nama objek sc pada kelas subclass. Methodsubclass pada kelas subclass mempunyai perintah super methodsuperclass yang artinya adalah memanggil konstruktor di kelas induk dan methodsuperclass di kelas induk.
Maka isi dari methodsuperclass di kelas induk adalah "Ini konstruktor milik superclass". Dan "Ini method milik superclass"
dan ini adalah contoh untuk program encapsulation:
public class persegi {
private double panjang; //atribut yang di sembunyikan ya...
private double lebar; //atribut yang di sembunyikan ya...
private double tinggi; //atribut yang di sembunyikan ya...
public persegi() {
panjang=0;
lebar=0;
}
private double luas(double p,double l) {
return p*l;
}
public void setpanjang(double panjang1){
this.panjang=panjang1;
}
public void setlebar(double lebar1) {
this.lebar=lebar1;
}
public double getpanjang() {
return panjang;
}
public double getlebar(){
return lebar;
}
public double getluas() {
return luas (panjang, lebar);
}
}
berikut program utamanya:
public class mainpersegi{
public static void main (String[] args) {
persegi pg=new persegi() ;
pg.setpanjang(10);
pg.setlebar(20);
System.out.println("panjang : "+pg.getpanjang());
System.out.println("lebar : "+pg.getlebar());
System.out.println("luas : "+pg.getluas());
}
}
Penjelasan tentang program encapsulation:
Pada kelas persegi terdapat 3 atribut yaitu (panjang, lebar, tinggi) dan 7 method yaitu (persegi, luas, setpanjang,setlebar, getpanjang, getlebar, getluas). Method yang diawali dengan kata "private" merupakan encapsulation yaitu atributnya akan disembunyikan.
Nah, kita masuk ke kelas mainpersegi. Pada kelas ini lah akan menghasilkan output karena kelas mainpersegi lah yang mempunyai fungsi utama.
Yaitu :
lanjang : 10
lebar : 20
luas : 100
Selanjutnya, kita akan berbicara tentang polymorphism.
Berikut contohnya:
abstract class karyawan {
int gaji;
karyawan() {
gaji=1000000;
}
int getgaji() {
return gaji;
}
abstract void naikgaji();
}
class manager extends karyawan {
manager () {
gaji +=2000000;
}
void naikgaji() { gaji+=3000000; }
}
class receptionist extends karyawan {
receptionist () {
gaji +=1000000;
}
void naikgaji () { gaji+=1000000; }
}
class polymorphisme {
public static void main(String[] args) {
karyawan k[]=new karyawan[3];
k[0]=new manager();
k[1]=new receptionist();
k[2]=new manager();
for (int i=0;i<3;i++)
System.out.println("gaji karyawan "+i+" adalah "+k[i].getgaji());
for (int i=0;i<3;i++)
k[i].naikgaji();
for (int i=0;i<3;i++)
System.out.println("gaji sekarang "+i+" adalah "+k[i].getgaji());
}
}
Sekian Dari saya yang dapat jelaskan dari tugas berikut,mohon maaf kalau ada yang belum jelas, sekian dan terima kasih,selamat malam