Oop – Abstraction Dalam Bahasa Pemrograman Java
Abstraction atau dalam bahasa Indonesia Abstraksi yang berasal dari kata absurd (tidak berwujud) merupakan salah satu konsep OOP selain dari Encapsulation dan Inheritance
baca juga : Inheritance dalam Bahasa Java
Melalui proses abstraksi, programmer menyembunyikan semua kompleksitas data terhadap suatu objek. Untuk melakukan abstraksi programmer biasanya menggunakan abstract class atau interface untuk mengatakan penamaan methodnya yang sesuai dengan tugasnya, misal suatu interface mempunyai method getUsia() sehingga praktis dibaca bahwa method tersebut adalah getUsia() kemudian class yang mengextends interface/abstract class tersebut mengimplementasikannya sesuai nama method tersebut.
Abstraksi sangat berkaitan dengan enkapsulasi.
Enkapsulasi akan dibahas pada artikel berikutnya..
Contoh
Sebagai contoh, pertama buatlah 3 buah class dan 1 buah interface.
Class : MainClass, Anak, Pemuda. Interface : Manusia |
Source Code File Manusia :
Sebuah interface hanya mampu mempunyai nama method, tanpa ada implementasi.
Interface juga tidak mampu dibuat menjadi objek.
Seperti yang sudah dibahas pada inheritance, untuk membuat class Anak dan Pemuda mempunyai implementasi dari interface Manusia, maka kita membuat class Anak dan Pemuda inherit terhadap interface Manusia.
Akan tetapi, hal yang perlu diingat, dalam bahasa Java jikalau inherit kepada class, keywordnya extends tetapi untuk interface menggunakan implements.
Pesan Error pada class di Eclipse |
Saat melakukan inherit tentu saja akan ada pesan error, karena kita belum mengimplementasikan method pada interface Manusia. Dengan menggunakan eclipse kita mampu klik pada Add unimplemented methods sehingga akan muncul method yang perlu di impementasikan.
Bagaimana menampilkan Menu tersebut ?
arahkan saja kursor ke nama class 😀
Maka akan menjadi mirip ini
Auto-generated method dari eclipse |
Seperti yang terlihat tidak error lagi.
Sehingga, setelah melakukan implementasi pada masing masing class menjadi.
Source Code File Anak :
Source Code File Pemuda :
Source Code File MainClass :
Output:
seperti yang dibayangkan. |
Pembahasan
Pemrograman harus menggambarkan keadaan nyata, mirip class Anak dan Pemuda tersebut tidak terdapat setName(), melainkan untuk mengatur nama hanya mampu dilakukan lewat constructor. Karna nama insan memang tidak mampu berubah (bisa sih kalo di urus haha).
Serta sebaiknya untuk usia, lebih baik memasukkan tanggal lahir, karena dari tanggal lahir kita mampu mengetahui usia seseorang sekarang.
Sumber http://ng0ding.blogspot.com/