Test Formatif Kegiatan Belajar 16 :Polimorphisme a. Tujuan Pembelajaran

PEMROGRAMAN BERORIENTASI OBJEK 176 | P a g e

g. Lembar Kerja Siswa.

PEMROGRAMAN BERORIENTASI OBJEK 177 | P a g e

15. Kegiatan Belajar 17 : Polimorphisme

Virtual Methode Invocation

a. Tujuan Pembelajaran

Setelah mengikuti kegiatan belajar 14 siswa diharapkan dapat : 1 Memahami konsep overloading dan overriding 2 Memahami metode final 3 Menyajikan overloading dan overriding dalam class

b. Uraian Materi

Virtual Method Invocation VMI bisa terjadi jika terjadi polimorfisme dan overriding. Pada saat obyek yang sudah di buat tersebut memanggil overridden method pada parent class, compiler Java akan melakukan invocation pemanggilan terhadap overriding method pada subclass , dimana yang seharusnya di panggil adalah overridden method. Berikut contoh terjadinya VMI: Listing Program classParent{ intx=5; publicvoidInfo{ System.out.println “IniclassParent”; } } classChildextendsParent{ intx=10; publicvoidInfo{ System.out.println “IniclassChild”; } } publicclassTes{ publicstaticvoidmainStringargs[]{ Parenttes=newChild; System.out.println “Nilaix=“+tes.x; tes.Info; } } PEMROGRAMAN BERORIENTASI OBJEK 178 | P a g e Hasil dari running program diatas adalah sebagai berikut: Nilaix=5 IniclassChild Polymorphic arguments adalah tipe suatu parameter yang menerima suatu Nilai yang bertipe subclass-nya. Berikut contoh dari polymorphics arguments: Listing Program Class Pegawai{ } Class Manajer extends Pegawai{ … } Public class Tes{ Public static void ProsesPegawaipeg{ … } Public static void mainStringargs[]{ Manajerman=newManajer; Prosesman; } } Pernyataan instance of sangat berguna untuk mengetahui tipe asal dari suatu Polymorphic arguments. Untuk lebih jelasnya, misalnya dari contoh program sebelumnya, kita sedikit membuat modifikasi pada class Tes dan ditambah sebuah class baru Kurir, seperti yang tampak dibawah ini: Listing Program Class Kurir extends Pegawai } Public classTes{ publicstaticvoidProsesPegawaipeg{ ifpeginstanceofManajer{ …lakukantugas-tugasmanajer… }elseifpeginstanceofKurir{