Banner Java

Penggunaan Operator instanceOf Dalam Hirarki Turunan Di Java

Di artikel Memahami Konsep Turunan (Inheritance) Di Java dan Memahami Konsep Polimorfisme (Polymorphism) Di Java, Anda diperkenalkan pada konsep turunan dan keterkaitannya dengan konsep lain di pemrograman Java. Dalam hirarki turunan, obyek subclass dapat diberikan ke variabel dengan tipe superclass. Setiap instance (obyek) subclass adalah juga instance (obyek) dari superclass. Pengkonversian obyek hanya dapat dilakukan apabila obyek-obyek tersebut berasal dari kelas yang berada dalam hirarkhi turunan. Anda dapat menggunakan operator instanceof untuk mengetahui keterkaitan antara obyek sebuah kelas dalam hirarkhi turunan dengan kelas lainnya.

Berikut ini adalah dua kode program 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 hirarki turunan kelas Java

Instance (obyek) sebuah kelas adalah juga instance dari superclass-nya tetapi tidak merupakan instance dari kelas turunan yang lebih rendah (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
}

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.

Operator instanceof dalam hirarki turunan kelas Java

Baca artikel terkait lainnya:

Untuk memperbaiki mutu konten, Anda dapat berpartisipasi dengan cara melaporkan apabila menemukan kesalahan ketik, kata-kata rangkap, redaksi kurang pas (jelas), gambar pendukung tidak ada dan sebagainya melalui form Kontak Kami untuk mendapatkan perbaikan. Terima kasih atas kerjasamanya.

Hindro HindriantoHindro adalah pendiri sekaligus admin termasmedia.com dan topikit.com, blog online yang mengulas teknologi informasi. Dunia web mulai ditekuni tahun 2012 dengan mempelajari CMS Joomla dan Wordpress. Beberapa buku yang sekarang dipelajari antara lain PHP, HTML5, ASP.NET 4.5, JavaScript, CSS3, MySQL, Adobe Dreamweaver, Adobe Photoshop dan Adobe Flash.