Page 200 - PEMROGRAMAN BERORIENTASI OBJEK 11 GASAL
P. 200

PEMROGRAMAN BERORIENTASI OBJEK


                           ((Lingkaran4)objek).dapatLuas());

                           System.out.println("Diameter lingkaran adalah " +
                           ((Lingkaran4)objek).dapatDiameter());
                           }

                           else if(objek instanceof PersegiPanjang1) {
                           System.out.println("Luas persegi-panjang adalah " +
                           ((PersegiPanjang1)objek).dapatLuas());
                           }

                           }
                           }



                         Metode tampilObjek (Object objek) merupakan contoh pemrograman generik,

                         yang dapat dipanggil degan melewatkan sembarang instans dari Object.

                         Program  menggunakan  casting  implisit  untuk  menugaskan  suatu  objek

                         Lingkaran kepada objek1  dan suatu objek PersegiPanjang kepada objek2
                         (baris  5-6),  kemudian  memanggil  metode  tampilObjek()  untuk  menampilkan
                         informasi pada kedua objek tersebut (baris 9-10).


                         Di dalam metode tampilObjek() (baris 14-25), casting eksplisit digunakan untuk
                         meng cast objek Lingkaran jika objek merupakan suatu instans lingkaran, dan
                         metode dapatLuas() dan dapatDiameter() digunakan untuk menampilkan luas

                         dan diameter suatu lingkaran.

                         Casting bisa dilakukan hanya jika objek sumber merupakan suatu instans dari

                         kelas  target.  Program  menggunakan  operator  instanceof  untuk  memastikan
                         bahwa  objek  sumber  merupakan  suatu  instans  dari  kelas  target  sebelum

                         melakukan suatu casting (baris 15).


                         Casting eksplisit menjadi lingkaran (baris 17,19) dan menjadi PersegiPanjang
                         (baris 23) perlu dilakukan karena metode dapatLuas dan dapatDiameter tidak
                         tersedia di dalam kelas Object.
















                                                                                            185 | Pa g e
   195   196   197   198   199   200   201   202   203   204   205