Enkapsulasi adalah suatu cara untuk menyembunyikan informasi detail dari suatu class. Dua hal yang mendasar dalam enkapsulasi yakni : Information hiding , Interface to access data.
Sebelumnya kita dapat mengakses anggota class baik berupa atribut maupun method secara langsung dengan menggunakan objek yang telah kita buat. Hal ini dikarenakan akses kontrol yang diberikan kepada atribut maupun method yang ada di dalam class tersebut adalah ‘public’. Kita dapat menyembunyikan informasi dari suatu class sehingga anggota class tersebut tidak dapat diakses dari luar, caranya adalah hanya dengan memberikan akses kontrol ‘private’ ketika mendeklarasikan atribut atau method. Proses ini disebut dengan information hiding.
Jika kita telah melakukan information hiding terhadap suatu atribut pada suatu class, lalu bagaimana cara melakukan perubahan terhadap atribut yang kita sembunyikan tersebut, caranya adalah dengan membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu atribut tersebut yang dinamakan dengan interface to access data.
Dalam enkapsulasi terdapat hak akses public, protected, dan private. Hak akses public memungkinkan semua kelas mengaksesnya, hak akses protected hanya diberikan kepada kelasnya sendiri dan turunannya, serta kelas-kelas dalam satu paket. Sedangkan private hanya boleh diakses oleh kelasnya sendiri.
Private, adalah level proteksi untuk andi yang berada di dalam manusia. Si andi tidak boleh keluar dari manusia karena mempunya level proteksi paling tinggi. Dalam implementasinya, field dengan level proteksi private hanya dapat diakses di dalam class tersebut.
Constructor berfungsi untuk menginisialisasi obyek dari class dan mempersiapkan ruang memory, sedangkan destructor menghapus dan membersihkan obyek ketika sudah tidak terpakai dan membebaskan memory yang tadinya terpakai. Constructor method merupakan method yang namanya sama dengan nama classnya dan bersifat public tapi tidak berjenis void ataupun non void. Constructor dapat menerima parameter namun tidak bisa mengembalikan nilai apapun.
Konstruktor diubah menjadi protected atau public atau bisa juga menerapkan interface to access.
Contoh:
Contoh:
1.Kelas Mobil
2.Kelas Modul1 (Kelas Pemanggil)
Terlihat pada gambar 1 terdapat deklarasi 3 variable. Sedangkan pada kelas lainnya (Kelas Modul1), digunakan untuk memanggil data yang ada pada Kelas Mobil.
KONSTRUKTOR
Kelas Mobil
Kelas Pemangil
Kelas Mobil
Kelas Pemangil
2.Kelas Modul1 (Kelas Pemanggil)
Terlihat pada gambar 1 terdapat deklarasi 3 variable. Sedangkan pada kelas lainnya (Kelas Modul1), digunakan untuk memanggil data yang ada pada Kelas Mobil.
KONSTRUKTOR
- Method khusus yang akan dijalankan saat pada saat pembuatan objek (Instance).
- Cara mudah mengenali konstruktor adalah dengan melihat nama kelas dengan konstruktornya.
- Ingat! Nama konstruktor SELALU SAMA dengan nama kelas!
- Dapat ditulis dengan menggunakan parameter ataupun tidak.
Penggunaan Konstruktor Tanpa Parameter
Kelas Pemangil
Penggunaan Konstruktor Dengan Parameter
Kelas Pemangil
OVERLOADING
- Method dengan nama yang sama, namun memiliki parameter yang berbeda.
- Dilakukan pada kelas yang sama.
- Penggunaan Overloading dapat diaplikasikan pada Konstruktor maupun method yang biasa pada umumnya.
Overloading
Overloading (Kelas Pemangil)
EmoticonEmoticon