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 :
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 }
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