Jumat, 15 Agustus 2014

Reflection

Reflection
          Memungkinkan untuk menjalankan program Java yang akan diperiksa dan "refleksi" dari dirinya sendiri (informasi) dan memanipulasi properti dalam program ini. Contoh: untuk mendapatkan semua nama-nama anggota kelas dan menampilkan mereka.
          Kemampuan untuk menjalankan dan memanipulasi kelas di Jawa.
          Proses di jalankan waktu JVM.
Menggunakan Kelas class
          Menggunakan kelas obyek Kelas untuk mendapatkan informasi dari kelas yang diinginkan. contoh:
                                                MyClass obj = new MyClass();
                                                Class Class = obj.getClass();
                                                                      or
                                                Class Class = MyClass.class;
                Catatan: obj adalah sebuah contoh objek dari kelas MyClass.
Reflection Function
          Ada beberapa metode / fungsi dari kelas Kelas yang dapat digunakan untuk memperoleh informasi dari kelas, yaitu:
          forName                             
          getName
          getSuperclass
          getContructors
          getDeclaredField
          getDeclaredMethod
          getField dan getFields
          getInterfaces
          getMethod dan getMethods
          getPackage
          getModifiers
          isArray
          isInstance , etc
Informasi lebih lanjut dapat dilihat pada Java documentation
Example of Reflection Function
          Berikut contoh untuk kelas Mahasiswa yang akan mengambil informasi properti dengan Refleksi:

          • Ini adalah kelas AmbilKelas yang akan mengambil informasi untuk kelas Mahasiswa:

          Output from class AmbilKelas :

Example of Reflection Function :
          Contoh jika kita ingin mengetahui informasi dari kelas yang telah dinyatakan sebelumnya dari Java itu sendiri.

          Output informasi dari kelas Stack

          Ada 5 fungsi yang kelas Stack memiliki (pop, push kosong, mengintip, dan pencarian)
          Dari fungsi di atas, fungsi mengembalikan tipe nilai bisa berupa Objects (pop, mendorong, mengintip), Boolean (kosong), int (pencarian)
          Jika kita mengganti String parameter dalam fungsi forName ke:
                Class c = Class.forName( "Mahasiswa“ );
Ini akan menghasilkan:
 


1.       izin akses untuk setiap fungsi
2.       3 fungsi setter dengan tipe Void
3.       3 fungsi getter dengan nilai pengembalian String
4.       3 fungsi setter dengan parameter String
5.       3 fungsi getter tanpa parsing parameter
Field Reflection
          Fields di kelas di Jawa juga bisa diperoleh melalui refleksi dengan menggunakan metode kelas kelas, antara lain dengan menggunakan:
v  getField(String name)  à mengambil salah satu bidang yang ditunjuk
v  getFields() à mengambil semua bidang ada
v  getDeclaredField(String name) à mengambil satu bidang dideklarasikan oleh kelas
v  getDeclaredFields() à mengambil semua bidang dinyatakan
Example of Field Reflection
          Contoh Reflection berikut class Student untuk mendapatkan bidang dinyatakan

          Output:

1.       Akses Modifier untuk setiap bidang dinyatakan
2.       Jenis Data setiap bidang dinyatakan

3.       nama field Dideklarasikan

Tidak ada komentar:

Posting Komentar