Wednesday 4 May 2016

Pengertian Abstract class, Package ,Casting object , Overriding & Overloading , Pewarisan interface

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

No comments:

Post a Comment