Rabu, 04 Mei 2016

INTERFACE

INTERFACE

Interface adalah wadah dari kumpulan method yang bersifat abstrak atau tidak memiliki implementasi. Sedangkan method yang didefinisikan di dalam interface tersebut akan diimplementasikan oleh class yang mengimplementasikan interface tersebut. Interface merupakan bentuk perluasan dari kelas abstrak.
Selain method, interface juga dapat berisi sekumpulan variable, namun variable yang dideklarasikan di dalam interface harus bersifat final(nilainya tidak dapat diubah /konstan).
Sebagai contoh : Dalam kehidupan nyata dapat diketahui ada manusia yang bekerja sebagai tentara, penyanyi, pengacara, dan sebagainya, tentunya manusia-manusia tersebut selain harus memiliki method standard sebagai seorang manusia, juga harus memiliki method yang sesuai dengan pekerjaannya. Dengan demikian untuk membuat objek manusia yang bekerja sebagai penyanyi, harus dibuat kelas yang merupakan turunan kelas manusia yang meng-implementasikan interface penyanyi.
 
Ciri-ciri dari interface
Method interface tidak punya tubuh, sebuah interface hanya dapat mendefinisikan konstanta dan interface tidak langsung mewariskan hubungan dengan class istimewa lainnya, mereka didefinisikan secara independent.
Tidak bisa membuat instance atau objek baru dari sebuah interface.
Ciri umum lain adalah baik interface maupun class dapat mendefinisikan method. Bagaimanapun, sebuah interface tidak punya sebuah kode implementasi sedangkan class memiliki salah satunya.
 
Beberapa perbedaan Interface dan Abstract Class :
- Interface hanya bisa mendefinisikan Method, tidak bisa mengimplementasikan, sedangkan Abstrat        Class bisa mengimplementasikan Method
- Interface tidak boleh terdiri dari field atau property, Abstract Class bias
- Interface tidak boleh terdiri dari konstruktor dan destruktor, sedangkan Abstract class bisa:
 
 perbedaan class abstract dan interface
         Abstract Class dikatakan Abstract karena class tersebut tidak diimplementasikan secara langsung di class tersebut. Melainkan diimplementasikan di class lain yang merupakan class anak dari abstract class itu. Itulah sebabnya dinamakan abstract class. Berikut perbedaan antara class abstract dengan interface:
·         Abstract class dapat memiliki tipe data dengan semua tipe data, sedangkan interface tipe datanya hanya berupa konstanta
·         Method pada abstract class dapat berupa method kongkrit dan method abstract. Sedangkan pada interface semua method harus berupa method abstract.
·         Interface Class jelas berbeda dengan abstract class. Karena class ini mengimplementasikan methodnya di class lain dihubungkan dengan kata "implements". Method class interface tadi diimplementasikan dengan nama method yang sama di class yang diimplementasikan.
Contoh Abstract Class :
 
 
 
 
 
 
 
   Dari contoh di atas dapat kita lihat bahwa pada abstract class Mahluk hidup terdapat 1 method yang tidak memiliki implementasi. Implementasi method bernafas nanti akan diimplementasikan di class anak karena biasanya class abstract dapat menjadi class induk.

 Contoh Interface Class :
 
 
 
 
 
 
  Pada contoh interface class di atas  dapat dilihat perbedaan antara abstract class dan interface class. Interface class memiliki method yang tidak memiliki im- plementasi.

Pewarisan Interface
Sebuah kelas dapat mewarisi interface dengan menggunakan kata kunci implements, dimana kelas tersebut dapat mewarisi beberapa interface.
Contoh Mewarisi Interface 
public class NamaKelas 
    implements NamaInterface {
    public void namaProsedur(){
        // isi prosedur     }
    public TipeData namaFungsi(){
        // isi fungsi     }}

Pewarisan Antar Interface Interface dapat mewarisi interface lainnya menggunakan kata kunci extends.
Interface dapat mewarisi lebih dari satu interface.

Contoh Pewarisan Antar Interface
public interface NamaInterface
    extends InterfaceLain, InterfaceDua {
    // isi interface }
 
Sumber : http://dinardc.blogspot.co.id/2014/03/class-abstractpackage-interface.html

Tidak ada komentar:

Posting Komentar