Abstrak dan Interface Pada Java

A. Pengertian Abstrak 

     Abstract Class adalah class yang mempunyai setidaknya satu abstract method.  Abstract method adalah method yang tidak memiliki body (hanya deklarasi method).  Abstract class tidak bisa dibuat obyeknya. Obyek hanya bisa dibuat dari non-abstract class (concrete class). Konsekuensinya, suatu abstract class haruslah diturunkan dimana pada subclass tersebut berisi implementasi dari abstract method yang ada di super class-nya.

     Bila subclass yang diturunkan dari abstract class tidak mengimplementasikan isi semua method abstrak parent class, maka subclass tersebut harus tetap dideklarasikan abstract. Dan deklarasi method abstract pada subclass tersebut boleh tidak dituliskan kembali.

Kegunaan Class Abstrak: 

  • Class Abstract berisi beberapa method dan beberapa method abstract. Class Abstract berisi sebagian implementasi, dan subclass yang melengkapi implementasinya. Dengan kata lain Class Abstract memiliki beberapa kesamaan (Bagian yang diimplementasikan oleh subclass) dan memiliki perbedaan (method yang dimiliki sendiri oleh class abstract) 
  • Deklarasikan method abstract, jika ada satu atau lebih subclass yang diharapkan mempunyai fungsionalitas yang sama tapi implementasi berbeda. 
  • Gunakan class abstract untuk mendefinisikan behavior secara umum sebagai superclass, sedangkan subclass menyediakan implementasi detail. 
  • Jika class abstract semua method merupakan method abstract, sebaiknya class abstract tersebut diganti menjadi Interface.
Contoh Program: 

package Teori;
public abstract class Parent{
public abstract void mAbstract();
}
class Child extends Parent{
public void mAbstract(){}
}

Hasil compile program diatas: 


Hasilnya error dikarenakan tidak ada objek dari class parent.

Contoh Program 2: 

package Teori;
public abstract class Parent{
public abstract void mAbstract();
}
class Child extends Parent{
public void mAbstract(){}
}

Hasil compile Program diatas: 


Hasilnya error dikarenakan tidak ada objek dari class child.



B. Pengertian Interface

     Interface berbeda dengan class. Interface berisi method kosong dan konstanta. Method dalam interface tidak mempunyai statement. Sehingga deklarasi method dalam interface sama dengan deklarasi abstract method pada abstract class.

     Method yang dideklarasikan didalam interface secara otomatis adalah public dan abstract. • Variable dalam interface secara otomatis adalah public, static, dan final.

Cara pengimplementasian dari Interface: 

  • Bila sebuah class mengimplementasikan suatu interface, maka semuakonstanta dan method interface akan dimiliki oleh class ini. 
  • Method pada interface harus diimplementasikan pada class yang mengimplementasikan interface ini. 
  • Bila class yang mengimplementasikan interface tidak mengimplemetasikan semua method dalam interface, maka class tersebut harus dideklarasikan abstract. 

Deklarasi dari Interface: 

<modifier> class <name> [extend <super class>]
       [implements <interface> [,<interface>]*] {
       <declaration>*
}


Semoga Bermanfaat, terimakasih. 






Komentar

Postingan populer dari blog ini

Inheritance dan Contoh Programnya

Penjelasan dan Implementasi Class, Object, Instance, Method Pada Jcreator

CONTOH PROGRAM KONSEP OOP