Pemrograman Berorientasi Object Struktur Class & Enkapsulasi Abas Setiawan Teknik Informatika s1
Konstruktor/desktruktor?
Konstruktor Sebuah class yang berisi konstruktor yang dipanggil (invoked) untuk membuat objek dari suatu blueprint class itu sendiri. Terlihat seperti deklarasi metode (method) tetapi mempunyai nama yang sama dengan nama class itu sendiri serta tidak memiliki suatu nilai pengembalian. Dipanggil pertama kali saat instansiasi.
Contoh Konstruktor Contoh kelas Mahasiswa dengan satu konstruktor public class Mahasiswa{ private String m_nim; private String m_nama; public Mahasiswa (String nim, String nama) { m_nim = nim; m_nama = nama; } public static void main(String[] args){ Mahasiswa mawar = new Mahasiswa(“A11.2020.05555”,”Mawar”); //calling constructor
Multiple Constructor
Destruktor Karena garbage collector dari pemrograman Java tidak memberikan fitur ini, maka kita tidak akan dapat memprediksi kapan (atau bahkan jika ingin) sebuah objek akan dihancurkan. Oleh karena itu tidak ada cara untuk secara langsung atau dengan keinginan programmer menghancurkan sebuah object. Beberapa bahasa pemrograman yang dapat mengimplementasikan destructor adalah C++/C#.
Method pada Class
Apa itu method? Kemampuan atau aktivitas yang dimiliki oleh objek. Semua proses dan tingkah laku dari objek direpresentasikan dalam bentuk Method. Mirip dengan fungsi pada pemrograman terstruktur. Contoh: object burung dapat terbang, mencari makan, mendarat. Method dapat diakses dari Class selama Class tersebut mengijinkan (bergantung pada access modifier).
Contoh Method pada Class public class Mahasiswa{ void Status() { if (isAktif == true) System.out.println(“Mahasiswa Aktif"); else { System.out.println(“Mahasiswa Mangkir"); } public static void main(String[] args){ Mahasiswa mawar = new Mahasiswa(“A11.2020.05555”,”Mawar”); mawar.Status(); Method / Behavior
Getter & Setter Method
Method Getter Setter public class Mahasiswa{ private String nim; Mahasiswa(){ } public void setNim(String mNim) { nim = mNim; public String getNim() { return nim; Setter = method untuk mengatur suatu property dari class dengan nilai parameter tertentu. Getter: method untuk mengambil nilai yang sudah diatur di setter
Pemanggilan Getter Setter public class coba { public static void main(String[] args) { Mahasiswa mawar = new Mahasiswa(); mawar.setNim("A11.2017.00001"); //atur nim System.out.println(mawar.getNim()); //ambil nim }
Enkapsulasi
Enkapsulasi IDE dasar: Menyembunyikan informasi. Enkapsulasi adalah suatu cara dalam method dalam mengakses nilai atribut (/property/variable) dalam kelas, sehingga objek tidak dapat secara langsung mengakses nilai atribut tersebut. Client dapat menggunakan method tanpa mengetahui bagaimana method tersebut menghasilkan suatu nilai atau bagaimana method tersebut di terapkan. Maka dari itu pengemasan tersembunyi tersebut disebut dengan enkapsulasi.
Contoh Enkapsulasi public class MahasiswaEnkapsulasi{ private String statusPernikahan=“Menikah”; private int m_umur; public int getUmur(){ return age; } public String getStatusNikah(){ return statusPernikahan; public void setUmur( int newUmur){ m_umur = newUmur;
Tutorial Tambahan Enkapsulasi https://www.tutorialspoint.com/java/java_encapsulation.htm
Keuntungan Enkapsulasi Field dari Class (property atau method) dapat dibuat read-only atau write- only. Suatu Class dapat memiliki control penuh terhadap apa yang disimpan pada field Class itu sendiri. Client/User dari Class tidak tahu bagaimana cara menyimpan datanya. Sebuah Class dapat merubah tipe data dari field dan used tidak perlu mengubah apapun dari kode mereka.
Gambaran Class diagram Pada Kelas yang ter-enkapsulasi biasanya menggunakan access modifier “private” yang disimbolkan dengan “-” dan untuk “public” disimbolkan dengan “+”.
Referensi Introduction to Java Programming, Comprehensive Version (10th Edition) by Y. Daniel Liang, 2015, Pearson Education, Inc. https://www.tutorialspoint.com/java/