Page 198 - PEMROGRAMAN BERORIENTASI OBJEK 11 GASAL
P. 198

PEMROGRAMAN BERORIENTASI OBJEK



                        16.  Kegiatan Belajar 18 : Polimorphisme (Casting Objek dan InstanceOf)
                        a.  Tujuan Pembelajaran

                            Setelah mengikuti kegiatan belajar 16 siswa diharapkan dapat :
                              1)  Memahami konsep polimorfisme
                              2)  Menyajikan overloading dan overriding dalam class


                        b.  Uraian Materi

                         Anda  telah  menggunakan  operator  casting  untuk  mengubah  variabel-variabel
                         suatu tipe primitif menjadi tipe primitif yang lain. Casting dapat pula digunakan
                         untuk mengubah objek dengan suatu tipe kelas menjadi objek degan tipe kelas

                         lain, di dalam suatu hirarki pewarisan. Pada bagian sebelumnya , statemen


                         m(new) Mahasiswa ( ) ) ;


                         menugaskan objek new Mahasiswa() kepada suatu parameter bertipe Object.
                         Statement tersebut ekuivalen dengan



                         object o = new Mahasiswa(); // Casting implisit

                         m(o);



                         Statement  Object  o  =  new  Mahasiswa(),  dikenal  sebagai  casting  implisit,
                         merupakan  hal  yang  sah  karena  suatu  instans  Mahasiswa  secara  otomatis
                         adalah suatu instans Object.


                         Seandainya  anda  ingin  menugaskan  referensi  objek  o  kepada  suatu  variabel
                         bertipe Mahasiswa menggunakan statemen berikut ini:



                          Mahasiswa b = o;


                         Pada  kasus  ini,  error  kompilasi  terjadi.  Mengapa  statemen  Object  o  =  new
                         Mahasiswa()  dapat  dilakukan  sementara  Mahasiswa  b  =  o    tidak  bisa
                         dilakukan ? Alasanya adalah bahwa suatu objek Mahasiswa selalu merupakan
                         suatu instans Object, tetapi suatu instans Object belum tentu merupakan suatu

                         instans Mahasiswa. Meskipun anda dapat melihat bahwa o adalah suatu objek
                         Mahasiswa,  kompiler  tidak  cukup    pintar  untuk  mengetahuinya.  Untuk





                                                                                            183 | Pa g e
   193   194   195   196   197   198   199   200   201   202   203