Hari ini tanggal 24 Oktober 2011 terasa sangat panas, sedikit lebih panas dari hari-hari sebelumnya (menurut saya). Pada hari yang panas ini saya mempelajari sebuah sifat dalam pemrograman java yaitu polymorphisme. Apa itu polymorphisme? Polymorphisme dapat digambarkan dengan sebuah objek yang dapat memiliki bermacam-macam sifat. Misal pada variabel yang direferensikan oleh objek dapat melakukan aksi yang berbeda bila tipe objeknya berubah atau diganti.
Ada dua jenis polymorphisme yaitu Override dan Overload. Di dalam java dikatakan bersifat override ketika terdapat method dengan nama, parameter dan tipe data yang sama persis di dalam kelas induk maupun kelas turunannya.
// kelas a sebagai superclass class a { public void a() { System.out.println("A"); } } // kelas b sebagai subclass class b extends a { public void a() { System.out.println("B"); } } // class utama untuk eksekutor kelas // dilengkapi dengan method main public class utama { public static void main(String[] args) { a a=new a(); b b=new b(); a.a(); a=b; a.a(); } }
Overload Polymophisme memiliki perbedaan pada method yang ada. Pada overload polymorphisme terdapat lebih dari satu method dengan nama yang sama tetapi memiliki jumlah parameter maupun tipe data yang berbeda.
Contoh :
Seperti itulah bentuk polymorphisme dalam java menurut pemahaman yang saya dapatkan. Dan dalam benak saya masih bertanya "seperti apa implementasi sesungguhnya dari polymorphisme ini? dan kenapa harus polymorphisme?" apa karena kehabisan kata-kata untuk membuat nama method? hehe.. entahlah... untuk sementara masih terus belajar. Semoga ada yang terbantu.// kelas a sebagai superclass class a { public int ab; public void a() { ab=0; System.out.println("A"); } public void a(int ax) { ab=ax; System.out.println("A"); } } // kelas b sebagai subclass class b extends a { public void a() { ab=0; System.out.println("B"); } public void a(int ax) { ab=ax; System.out.println("B"); } } // class utama untuk eksekutor kelas // dilengkapi dengan method main public class utama { public static void main(String[] args) { a a=new a(); b b=new b(); a.a(); a.a(10); a=b; a.a(); a.a(20); } }
No comments:
Post a Comment