Menggunakan operator instanceOf dalam hierarki turunan (inheritance) di Java

Penggunaan Operator instanceOf Dalam Hierarki Turunan Di Java

Di artikel Memahami Konsep Turunan (Inheritance) Di Java dan artikel Memahami Konsep Polimorfisme (Polymorphism) Di Java, Anda dapat mempelajari konsep turunan dan juga kaitannya dengan konsep lain di pemrograman Java. Dalam hierarki turunan di Java, obyek subclass dapat diberikan ke variabel dengan tipe superclass.

Setiap instance (obyek) subclass adalah juga instance (obyek) dari superclass. Konversi obyek hanya dapat dilakukan bila obyek-obyek tersebut berasal dari kelas yang berada dalam hierarkhi turunan. Anda dapat menggunakan operator instanceof untuk mengetahui kaitan antara obyek sebuah kelas dalam hierarkhi turunan dengan kelas lainnya.

Berikut ini adalah dua kode program Java yang menunjukkan keterkaitan antara obyek satu dengan obyek lainnya. Operator instanceof akan menghasilkan nilai boolean true apabila obyek dari subclass adalah juga obyek dari superclassnya.

// Nama file : InstanceOf.java
// Mendemonstrasikan penggunaan operator instanceof
 
// deklarasi kelas
public class InstanceOf {
 
   // Metoda main
   public static void main(String[ ] args) {
 
      System.out.println();
      System.out.println("new Kerucut() instanceof Kerucut : " +
         (new Kerucut() instanceof Kerucut));
      System.out.println("new Kerucut() instanceof Lingkaran : " +
         (new Kerucut() instanceof Lingkaran));
      System.out.println("new Kerucut() instanceof BangunDatar : " +
         (new Kerucut() instanceof BangunDatar));
      System.out.println("new Kerucut() instanceof Object : " +
         (new Kerucut() instanceof Object));
   }
}
 
class Kerucut extends Lingkaran {
   // Data dan metoda
}
 
class Lingkaran extends BangunDatar {
   // Data dan metoda
}
 
class BangunDatar extends Object {
   // Data dan metoda
}

Operator instanceof dalam hierarki turunan (inheritance) kelas Java

Instance (obyek) sebuah kelas adalah juga instance (obyek) dari superclass-nya tetapi tidak merupakan instance dari kelas turunan yang lebih rendah atau kelas yang lebih spesifik. Apabila Anda menggunakan operator instanceof maka akan dihasilkan nilai boolean false.

// Nama file : InstanceOf2.java
// Mendemonstrasikan penggunaan operator instanceof
 
// deklarasi kelas
public class InstanceOf2 {
 
   // Metoda main
   public static void main(String[ ] args) {
 
      System.out.println();
      System.out.println("new BangunDatar() instanceof Kerucut : " +
         (new BangunDatar() instanceof Kerucut));
      System.out.println("new BangunDatar() instanceof Lingkaran : " +
         (new BangunDatar() instanceof Lingkaran));
      System.out.println("new BangunDatar() instanceof BangunDatar : " +
         (new BangunDatar() instanceof BangunDatar));
      System.out.println("new BangunDatar() instanceof Object : " +
         (new BangunDatar() instanceof Object));
   }
}
 
class Kerucut extends Lingkaran {
   // Data dan metoda
}
 
class Lingkaran extends BangunDatar {
   // Data dan metoda
}
 
class BangunDatar extends Object {
   // Data dan metoda
}

Operator instanceof dalam hierarki turunan inheritance) kelas Java

Saat obyek sebuah kelas dikonstruksi, maka kelas-kelas di atasnya juga ikut dikonstruksi dengan memanggil kata kunci super, sedangkan kelas-kelas yang lebih bawah tidak ikut dikonstruksi.

SUKAI DAN BAGIKAN ARTIKEL INI:
Pin It