Java inheritance (warisan) adalah suatu hubungan antara superclass dan subclass-nya (atau bisa dikatakan hubungan antara induk class dan anak class-nya). Inheritance class (class warisan) didalam mekanisme java digunakan untuk membangun kelas baru dari kelas yang sudah ada. Jadi inti dari inheritance (pewarisan) pada java ini yaitu sebuah kelas mewarisi attribute dan method dari kelas lain.
Sebagai contoh, kelas makhluk_hidup dapat menurunkan sifat (attribute) dan kemampuannya (method) kepada kelas hewan, manusia dan tumbuhan. Sehingga kelas hewan sebagai superclass yang mewariskan sifat (attribute) dan kemampuannya (method) kepada manusia, hewan dan tumbuhan sebagai subclass-nya.
Bagaimana konsep OOP inheritance (pewarisan) dalam penerapannya pada syntax Java??
Dari source code di atas, hasil yang ditampilkan yaitu:
Jadi kelas makhluk_hidup sebagai superclass-nya yang kemudian attributenya diturunkan ke subclass-nya (manusia dan hewan). Kondisi pada saat subclass-nya memanggil method dari superclass-nya disebut override method. Jadi subclass tidak perlu membuat attribute dan method sendiri jika attribute dan methodnya sama dengan superclass, maka tinggal meng-override method dari superclass. Selain itu, syarat pewarisan yaitu subclass harus meng-extends class dari superclass-nya.
Sebagai contoh, kelas makhluk_hidup dapat menurunkan sifat (attribute) dan kemampuannya (method) kepada kelas hewan, manusia dan tumbuhan. Sehingga kelas hewan sebagai superclass yang mewariskan sifat (attribute) dan kemampuannya (method) kepada manusia, hewan dan tumbuhan sebagai subclass-nya.
Bagaimana konsep OOP inheritance (pewarisan) dalam penerapannya pada syntax Java??
//*************** makhluk_hidup.java *************** public class makhluk_hidup { private String nama; private String warna; private String gender; private String ciri; public String getCiri() { return ciri; } public void setCiri(String ciri) { this.ciri = ciri; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getNama() { return nama; } public void setNama(String nama) { this.nama = nama; } public String getWarna() { return warna; } public void setWarna(String warna) { this.warna = warna; } public void nafas(){ System.out.println("bernafas"); } public void jalan(){ System.out.println("jalan"); } } //****************************************
//*************** manusia.java *************** public class manusia extends makhluk_hidup{ private String akal; public String getAkal() { return akal; } public void setAkal(String akal) { this.akal = akal; } @Override public String getCiri() { return super.getCiri(); } @Override public String getGender() { return super.getGender(); } @Override public String getNama() { return super.getNama(); } @Override public String getWarna() { return super.getWarna(); } @Override public void jalan() { super.jalan(); } @Override public void nafas() { super.nafas(); } @Override public void setCiri(String ciri) { super.setCiri(ciri); } @Override public void setGender(String gender) { super.setGender(gender); } @Override public void setNama(String nama) { super.setNama(nama); } @Override public void setWarna(String warna) { super.setWarna(warna); } } //****************************************
//*************** hewan.java *************** public class hewan extends makhluk_hidup{ private String kanibal; private String beranak; public String getBeranak() { return beranak; } public void setBeranak(String beranak) { this.beranak = beranak; } public String getKanibal() { return kanibal; } public void setKanibal(String kanibal) { this.kanibal = kanibal; } @Override public String getCiri() { return super.getCiri(); } @Override public String getGender() { return super.getGender(); } @Override public String getNama() { return super.getNama(); } @Override public String getWarna() { return super.getWarna(); } @Override public void jalan() { super.jalan(); } @Override public void nafas() { super.nafas(); } @Override public void setCiri(String ciri) { super.setCiri(ciri); } @Override public void setGender(String gender) { super.setGender(gender); } @Override public void setNama(String nama) { super.setNama(nama); } @Override public void setWarna(String warna) { super.setWarna(warna); } } //****************************************
//*************** Main.java *************** public class Main { public static void main(String[] args) { manusia man = new manusia(); hewan animal = new hewan(); man.setNama("Mudafiq"); man.setGender("pria"); man.setWarna("sawo matang"); man.setCiri("hidung mancung"); animal.setKanibal("tidak kanibal"); animal.setBeranak("beranak dengan cara bertelur"); animal.setCiri("berkaki 2"); animal.setGender("laki-laki"); System.out.println(man.getGender()+" itu bernama "+man.getNama()+", warna kulitnya "+man.getWarna()+" dan memiliki "+man.getCiri()); System.out.println(); System.out.println("Saya adalah hewan yang "+animal.getBeranak()+" "+animal.getCiri()+" dan "+animal.getKanibal()+". Siapakah saya?"); } } //****************************************
Dari source code di atas, hasil yang ditampilkan yaitu:
pria itu bernama Mudafiq, warna kulitnya sawo matang dan memiliki hidung mancung
Saya adalah hewan yang beranak dengan cara bertelur berkaki 2 dan tidak kanibal. Siapakah saya?
Jadi kelas makhluk_hidup sebagai superclass-nya yang kemudian attributenya diturunkan ke subclass-nya (manusia dan hewan). Kondisi pada saat subclass-nya memanggil method dari superclass-nya disebut override method. Jadi subclass tidak perlu membuat attribute dan method sendiri jika attribute dan methodnya sama dengan superclass, maka tinggal meng-override method dari superclass. Selain itu, syarat pewarisan yaitu subclass harus meng-extends class dari superclass-nya.
Tidak ada komentar:
Posting Komentar