Abstract Class
Abstract
class adalah suatu class yang dinyatakan abstract, umumnya memiliki satu atau
abstract method, abstract method adalah suatu method yang belum memiliki
implementasi dan menggunakan modifier abstract. Abstract class biasanya
dijadikan parent atau super class dari kelas – kelas yang dapat membuat objek,
abstract class tidak dapat diinstanisasi.
Analogi Inheritance dan
Abstract Class :
Inheritence
dapat dianalogikan seperti penggolongan kelas, ordo, phylum dalam biologi.
Makhluk hidup dapat diturunkan atau diextend atau diperluas (di-inherit)
menjadi burung, reptile, ikan dan lain – lain, jenjang penurunan tersebut
disebut inheritance.
Kita
mengetahui bahwa suatu kelas dapat diinstanisasi menjadi suatu objek, misal
kelas manusia dapat diinstanisasi menjadi Joko, Susi, Ari, dan lain – lain,
namun kita tidak mungkin dapat menginstanisasi kelas makhluk hidup, maupun
kelas hewan, sebab kelas tersebut terlalu umum (abstract), kelas seperti inilah
yang desebut sebagai abstract class, apabila class makhluk hidup mempunyai
method bernafas, maka kita tidak dapat menentukan (meng-implementasikan) cara
makhluk hidup tersebut bernafas, dengan paru – paru, insang atau stomata,
dengan demikian kita dapat menyatakan bahwa di dalam kelas makhluk hidup,
bernafas merupakan method yang abstract.
Package
Package adalah : suatu cara untuk memanage atau mengelompokkan
class-class yang kita buat berdasarkan kesamaan atau kemiripan fungsi.
Dalam versi Java ada 6 package besar yaitu :
Ø java.io
Ø java.lang
Ø java.applet
Ø java.awt
Ø java.net
Ø java.util
Syarat nama package
Ø Menggambarkan class yang dimuat atau
dibungkusnya
Ø Harus unik
Ø Mempresentasikan path dari package tersebut
Ø Harus sama direktorinya
Casting Object
Instance
dari class juga dapat di-casting menjadi instance dari class lain, dengan satu
batasan ::
◦ Class asal dan tujuan
harus direlasikan dalam inheritance, salah satu class harus berupa subclass
dari class lain.
◦ Casting object
digunakan untuk mengkonversi nilai primitif menuju tipe yang lebih besar,
beberapa object tidak perlu mengalami casting secara explisit.
Gunakan sintaks berikut untuk casting
object,
(classname)object
classname
- nama class tujuan
object - reference untuk object asal
Berikut ini merupakan contoh proses casting sebuah
instance dari class VicePresident ke instance dari class Employee.
VicePresident merupakan subclass dari class Employee
dengan beberapa informasi tambahan.
Employee emp = new Employee();
VicePresident veep = new VicePresident();
emp = veep;
// casting explisit
veep = (VicePresident)emp;
Overriding & Overloading
Overloading adalah Suatu kemampuan
dalam bahasa berorientasi objek untuk menggunakan satu nama method untuk
beberapa method yang memiliki parameter masukan yang berbeda (tipe maupun
jumlah paramater). Overloading memodifikasi secara horisontal method maupun
konstruktor milik kelas super, maupun kelas yang sama.
Dalam sebuah kelas
diperbolehkan ada lebih dari satu method dengan nama yang sama dengan catatan
methods dapat dibedakan berdasarkan banyaknya parameter atau tipe data
parameter formal.
Overloading method
dapat digunakan ketika kita mempunyai operasi yang sama namun berbeda
implementasinya. Yang terpenting dalam melakukan ini, nama method harus sama,
tapi mempunyai parameter yang berbeda. Terserah berbeda dari segi tipe datanya
atau jumlah parameternya.Tergantung kebutuhan untuk implementasi dan nilai
kembaliannya. Jadi yang perlu diingat saat melakukan overloading method:
v Nama method sama
v Parameter berbeda (baik tipe maupun jumlahnya)
v Tipe data nilai
kembalian dapat berbeda atau sama
Overloading itu mendeklarasikan lebih dari satu kali dengan
syarat-syarat tertentu. baik overloading method ataupun konstruktor.
OVERRIDING
Overriding adalah suatu kemampuan dalam
bahasa berorientasi objek untuk mengubah implementasi (menimpa) suatu method
yang dimiliki oleh kelas super ketika kelas super tersebut diturunkan.
Ada dua alasan mengapa melakukan
overriding :
1
1. Mendefensikan
kembali method kelas induk secara total.
2. Menambah behavior
tertentu pada method kelas induk.
Pewarisan interface
Pewarisan adalah memberikan atau mewariskan sesuatu kepada keturunan
berikutnya. Misalnya, seorang anak pasti akan mewarisi beberapa sifat atau
prilaku yang dimiliki oleh ibu atau bapaknya. Dalam konteks ini, suatu kelas
dalam program dapat diturunkan menjadi kelas – kelas baru lainnya yang akan
mewarisi beberapa sifat atau prilaku dari kelas induknya. Sebagai contoh,
apabila anda memiliki kelas A dalam program yang anda buat, maka anda dapat
membentuk kelas – kelas turunan dari kelas A tersebut (misalnya kelas B) yang
mewarisi sifat- sifat yang terkandung dalam kelas A. Dalam proses pembuatan
kelas turunan tersebut, anda dapat menambahkan sifat dan prilaku baru kedalam
kelas B, yang sebelumnya tidak dimiliki dalam kelas A. Dalam terminologi Java,
kelas induk dinamakan superclass dan
kelas turunan disebut dengan Subclass. Untuk membuat kelas anak atau subclass
berdasarkan kelas yang telah ada, anda dapat gunakan kata kunci extend dalam
mendeklarasikan class. Sebuah kelas hanya dapat meng-extend satu kelas induk.
Interface adalah
Antarmuka (Interface)
merupakan mekanisme komunikasi antara pengguna (user) dengan sistem. Antarmuka
(Interface) dapat menerima informasi dari pengguna (user) dan memberikan
informasi kepada pengguna (user) untuk membantu mengarahkan alur penelusuran
masalah sampai ditemukan suatu solusi.
Interface,
berfungsi untuk menginput pengetahuan baru ke dalam basis pengetahuan sistem
pakar (ES), menampilkan penjelasan sistem dan memberikan panduan pemakaian
sistem secara menyeluruh / step by step sehingga pengguna mengerti apa yang
akan dilakukan terhadap suatu sistem. Yang terpenting adalah kemudahan dalam
memakai / menjalankan sistem, interaktif, komunikatif, sedangkan kesulitan
dalam mengembangkan / membangun suatu program jangan terlalu diperlihatkan.
Interface
yang ada untuk berbagai sistem, dan menyediakan cara :
Input,
memungkinkan pengguna untuk memanipulasi sistem.
Output,
memungkinkan sistem untuk menunjukkan efek manipulasi pengguna
Kesimpulan
Setelah Saya mencari tahu tentang abstract class , package , casting object , overriding,overloading dan pewarisan interface , saya tahu bahwa istilah - istilah tersebut sangat berguna bagi saya , dan saya juga akan lebih belajar dan lebih mendalami istilah istilah itu dengan baik dan penuh keikhlassan