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
   194   195   196   197   198   199   200   201   202   203   204