Page 199 - PEMROGRAMAN BERORIENTASI OBJEK 11 GASAL
P. 199
PEMROGRAMAN BERORIENTASI OBJEK
memberitahu kompiler bahwa o merupakan suatu objek Mahasiswa , gunakan
casting ekspilit. Sintaks yang digunakan sama seperti yang digunakan untuk
meng-casting tipe primitif, tipe objek target diapit oleh sepasang kurung dan
ditempatkan sebelum objek yang akan dicast:
Mahasiswa b = (Mahasiswa) o; // Casting eksplisit
Adalah hal yang selalu memungkinkan untuk melakukan casting terhadap
instans dari suatu subkelas menjadi suatu variabel superkelas (yang dikenal
dengan upcasting), karena instans subkelas selalu merupakan instans
superkelas. Ketika melakukan casting terhadap instans dari suatu superkelas
menjadi suatu variabel subkelasnya (yang dikenal dengan downcasting),
casting eksplisit harus digunakan untuk mengaskan tujuan anda kepada
kompiler.
Agar casting berhasil dilakukan , Anda perlu memastikan bahwa objek yang
akan di-cast merupakan suatu instans subkelas. Jika objek superkelas bukan
merupakan suatu instans subkelas., error ClassCastException akan terjadi.
Sebagai contoh, jika suatu objek bukan instans dari Mahasiswa, maka objek
tersebut tidak bisa di-cast menjadi suatu variabel Mahasiswa. Hal ini bisa
diselesaikan dengan penggunaan operator instance of
Listing Program
public class DemoCasting {
/** Main method */
public static void main(String[] args) {
// Menciptakan dan menginisialisasi dua objek
Object objek1 = new Lingkaran4(1);
Object objek2 = new PersegiPanjang1(1, 1);
// Menampilkan lingkaran dan persegi-panjang
tampilObjek(objek1);
tampilObjek(objek2);
}
/** Metode untuk menampilkan suatu objek */
public static void tampilObjek(Object objek){
if(objek instanceof Lingkaran4) {
System.out.println("Luas lingkaran adalah " +
184 | Pa g e