Page 17 - e-modul pbo
P. 17
b. Polymorphic Arguments
adalah tipe suatu parameter yang menerima suatu nilai yang bertipe subclass-nya.
c.Pernyataan Instance of
ditujukan untuk mengetahui tipe asal dari suatu Polymorphic arguments. Seringkali
pemakaian instance of diikuti dengan casting object dari tipe parameter ke tipe asal.
4. Polimorphisme (Casting Objek dan InstanceOf)
Casting digunakan untuk mengubah variabel-variabel suatu tipe primitif menjadi tipe
primitif yang lain. Casting dapat pula digunakan untuk mengubah objek dengan suatu tipe
kelas menjadi objek dengan tipe kelas lain, di dalam suatu hirarki pewarisan.
Contoh statement :
m(new) Mahasiswa ( ));
menugaskan objek new Mahasiswa() kepada suatu parameter bertipe object. Statement
tersebut ekuivalen dengan
object o = new Mahasiswa(); // Casting implisit
m(o);
Statement Object o = new Mahasiswa(), dikenal sebagai casting implisit, merupakan hal
yang sah karena suatu instans Mahasiswa secara otomatis adalah suatu instans Object.
• Casting implisit, merupakan casting yang dilakukan tanpa adanya kode tambahan,
termasuk data kecil ke tipe data besar.
• Casting eksplisit, dilakukan jika memasukkan data dengan ukuran yang besar ke ukuran
lebih kecil. Contohnya adalah sebagai berikut :
Mahasiswa b = (Mahasiswa) o; // Casting eksplisit
Beberapa hal yang perlu diperhatikan dalam melakukan casting adalah, sebagai berikut :
• Instans subkelas juga merupakan instans superkelas.
• Ketika melakukan casting terhadap instans dari suatu superkelas menjadi suatu variabel
subkelasnya (yang dikenal dengan downcasting), casting eksplisit harus digunakan untuk
menegaskan tujuan anda kepada kompiler.
• Agar casting berhasil dilakukan, perlu memastikan bahwa objek yang akan di-cast
merupakan suatu instans subkelas. Jika objek superkelas bukan suatu instans subkelas,
maka akan terjadi error ClassCastException.
Pemrograman Berorientasi Objek Kelas XI – Semester 2 12