Setelah sekian lama sibuk banget ngurusin tugas kuliah , alhamdulilah masih di kasih kesempatan untuk sharing pengetahuan di hari yang cerah ini ~jasiiiik :D.
Susahnya basa basi dalam menulis blog broo sumpah , ane gabisa basa basi , sebenernya mau langsung ke intinya aja , tapi kurang greget tanpa pendahuluannya coeg, jadi anggep aja ini basa basi okeeee :D.
Post sebelumnya udah ngebahas tentang Kelas, Konstruktor, dan Metode nih klik Disini kalo gapercaya :p.
Post ini tidak lagi membahas cara menambahkan Kelas , cara menulis method, dll.
kali ini kita akan membahas ke topik lebih Advance walaupun Saya masih newbie mudah mudahan penjelasan saya mudah di cerna ya bro.
Kelas Abstrak
Kelas Abstrak adalah kelas dimana memiliki metode-metode namun tidak dideklarasikan(maksudnya tidak ada isi di dalam metode atau kosong), Pendeklarasiannya terjadi pada kelas turunannya.
Untuk membuat Kelas Abstrak sama dengan membuat kelas biasanya, namun diawali dengan kata kunci Abstract pada kelas dan Metode yang akan dibuat , namun tidak akan dideklarasikan (tidak perlu di isi).
Metode yang abstrak tidak perlu di isi kodingnya(di kosongkan saja).
Contohnya kita membuat kelas Abstrak berupa Hewan, lalu turunannya : Kucing, Kambing, anjing, dll. Kelas tersebut memiliki metode Bicara() yang menyuruh Hewan tersebut bicara, namun karena setiap hewan berbeda nada bicaranya maka kita buat metode Bicara() menjadi abstrak.
Lihat contoh di bawah ini Vroh
public abstract class Hewan {
public abstract void Bicara(); //lihat metode tidak berisikan kode kode
//tidak mendeklarasikan apapun
}
di atas adalah contoh kelas abstrak Hewan yang nanti kita akan membuat kelas turunannya yaitu para hewan aslinya: anjing, kambing, kucing.
public class Anjing extends Hewan {
public void Bicara() {
System.out.println("Guuuk Guuk Guuk ...");
}
}
public class Kucing extends Hewan {
public void Bicara() {
System.out.println("Meoong Meoong Meoong ...");
}
}
public class Kambing extends Hewan {
public void Bicara() {
System.out.println("Mbeeek Mbeeek Mbeeek ...");
}
}
Bisa dilihat pada metode Bicara() di setiap kelas di atas, di dalam metode Bicara() walaupun nama metode nya sama tetapi isinya berbeda beda , dan pada kasus ini , metode Bicara() sendiri adalah turunan metode dari kelas Hewan , jika kelas Hewan tidak mendeklarasikan metode Bicara() , kelas turunannya tidak akan mengenal metode Bicara() dan akan terjadi error.
tanpa sadar , anda telah menerapkan konsep Polimorfisme yang tentu saja adalah fitur utama Pemrgoraman Java.
Polimorfisme Apaan coegg ? Capek dehhhh moso programmer java gatau Polimorfisme sihh.
okee saya jelaskan mudah mudahan penjelasan saya dapat di cerna.
Polimorfisme
Polimorfisme adalah kemampuan untuk sebuah kelas memiliki banyak kelas turunan. Setiap kelas turunan memiliki deklarasi asing-masing yang unik dapat berbagi fungsionalitas yang sama dengan kelas Parent (kelas yang di turunkan).
Dalam kasus ini Contoh Polimorfisme adalah Kelas Hewan yang sebelumnya telah di buat. jadi Kelas Hewan ini menurunkan metode Bicara() kepada kelas Turunannya dalam kasus ini adalah kelas anjing, kucing, dan kambing
Contoh Penggunaannya ada di bawah nih vroh
public class Test {
public static void main(String[] args) {
Hewan hewan1 = new Anjing(); //membuat objek kelas Abstrak hewan (anjing)
hewan1.Bicara();
Hewan hewan2 = new Kucing(); //membuat objek kelas Abstrak hewan (kucing)
hewan2.Bicara();
Hewan hewan3 = new Kambing(); //membuat objek kelas Abstrak hewan (kambing)
hewan3.Bicara();
}
}
ketika program di jalankan akan terlihat bahwa , setiap metode berbeda beda meskipun mengakses di kelas yg sama (Hewan).
Jadi anggap saja kelas abstrak adalah prototype sebuah kelas kelas yang akan di isi oleh turunannya.
Kelas abstrak cocok sekali di pakai jika ingin mengkalkulasi sebuah program misal penghitungan diskon, penghitungan pajak kredit, penghitungan sebuah paket belanjaan misal paket A, paket B.
Jika menurut anda contoh di atas terlalu simpel , tetapi percayalah , itu contoh yang mudah di cerna bagi kalangan kalangan newbie seperti saya.
nahh kalian sudah tau kan contoh penggunaan kelas abstrak. alhamdulilah tercapai juga tujuan saya memberi ilmu untuk ke sekian kalinya , walaupun tak seberapa :).
kalo ada yang masih bingung , monggo di tanyakan saja ya bro , apabila saya sempat pasti saya akan jawab.
sekian dulu post kali ini vrohhh terimakasih.

Simple dan mudah dimengerti, thank you gan
ReplyDelete