Page 17 - e-modul pbo
P. 17

b. Polymorphic Arguments
                              adalah tipe suatu parameter yang menerima suatu nilai yang bertipe subclass-nya.
                      c.Pernyataan Instance of
                              ditujukan untuk mengetahui tipe asal dari suatu Polymorphic arguments. Seringkali
                         pemakaian instance of diikuti dengan casting object dari tipe parameter ke tipe asal.

                4.  Polimorphisme (Casting Objek dan InstanceOf)
                         Casting digunakan 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 dengan tipe kelas lain, di dalam suatu hirarki pewarisan.
                     Contoh statement :
                                        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.

                   •   Casting implisit, merupakan casting yang dilakukan tanpa adanya kode tambahan,
                       termasuk data kecil ke tipe data besar.

                   •   Casting eksplisit, dilakukan jika memasukkan data dengan ukuran yang besar ke ukuran
                       lebih kecil. Contohnya adalah sebagai berikut :

                                Mahasiswa b = (Mahasiswa) o; // Casting eksplisit

                  Beberapa hal yang perlu diperhatikan dalam melakukan casting adalah, sebagai berikut :

                   •   Instans subkelas juga merupakan instans superkelas.

                   •   Ketika melakukan casting terhadap instans dari suatu superkelas menjadi suatu variabel
                       subkelasnya (yang dikenal dengan downcasting), casting eksplisit harus digunakan untuk
                       menegaskan tujuan anda kepada kompiler.

                   •   Agar  casting  berhasil  dilakukan,  perlu  memastikan  bahwa  objek  yang  akan  di-cast
                       merupakan suatu instans subkelas. Jika objek superkelas bukan suatu instans subkelas,
                       maka akan terjadi error ClassCastException.














                                                          Pemrograman Berorientasi Objek Kelas XI – Semester 2   12
   12   13   14   15   16   17   18   19   20   21   22