GIGAnesia- Berbicara mengenai Pemprograman Berorientasi Object dengan standarisasi bahasa pemprograman basis java pastinya tidak luput dengan yang namanya interface dan pewarisan, mungkin bagi sebagian kalian pasti susah untuk memahami tentang interface dan pewarisan itu sendiri, nah pada artikel kali ini metode tersimple untuk memahami interface dan pewarisan.
Interface sendiri merupakan sebuah kumpulan method secara struktur dalam bahasa pemrograman Java, yang berfungsi untuk tempat menyimpan method kosong dan atribut yang bersifat constant atau final, serta tidak mempunyai Implementasi. Dengan demikian dapat mengimplementasikan(keyword: implements) interface dengan class lain, serta dapat mewariskan (keyword : extends ) dengan interface yang lain.
Interface dalam java adalah prototype atau template untuk sebuah class, deskripsi ini hampir serupa dengan class abstrak. class abstrak merupakan Class yang diimplementasikan secara parsial.
Dalam Java, kata interface adalah kata kunci yang memiliki arti tambahan. Suatu interface dalam hal ini adalah antar muka yang terdiri dari subrutin tanpa implementasi apa-apa. Didalam interface java terdapat istilah interface-modifier yang merupakan salah satu atau gabungan dari kata kunci public, protected, private, abstract, static, dan strictfp.
Di dalam sebuah class juga dapat mengimplementasikan atau mewariskan lebih dari satu interface, ini biasa di sebut Multiple inheritance. Interface tidak dapat di instansiasi sama seperti class abstract, dan juga method di Interface harus disetmodifier ke public. Sebuah class yang mengimplementasikan Interface, wajib hukumnya untuk mengimplementasikan method-method yang tersedia di Interface.
Hubungan Antara Class dan Interface
Seperti yang terlihat pada gambar dibawah ini, sebuah class melakukan extends terhadap class lain, sebuah interface melakukan extends terhadap interface lain, namun sebuah class melakukan implements pada interface.
Contoh analogi simplenya :
public class Animal{
}
public class Mammal extends Animal{
}
public class Reptile extends Animal{
}
public class Dog extends Mammal{
}
}
public class Mammal extends Animal{
}
public class Reptile extends Animal{
}
public class Dog extends Mammal{
}
Sekarang, berdasarkan contoh di atas, segi Object Oriented, berikut ini benar:
- Animal adalah superclass dari class Mammal.
- Animal adalah superclass dari class Reptile.
- Mammal dan Reptile adalah subclass dari kelas Hewan.
- Dog adalah subclass dari kedua Mammal dan kelas Animal.
Sekarang, jika kita mempertimbangkan hubungan IS-A, dapat dikatakan : ("Is-A" hubungan antara dua kelas yang digunakan Warisan)
- Mamalia IS-A Animal
- Reptile IS-A Animal
- Anjing IS-A Mammal
- Oleh karena itu: Dog IS-A Animal juga
Kelas yang diturunkan dari kelas lain disebut subclass (juga disebut derived class, extended class, atau child class). Kelas yang menurunkan subclass disebut superclass (juga disebut base class atau parent class). Setiap kelas secara implisit merupakan subclass dari kelas Object.
Kelas Object, yang didefinisikan pada paket java.lang, mendefiniskan dan mengimplementasiperilaku umum dari semua kelas. dalam platform Java, banyak kelas diturunkan langsung dari Object, kelas lain turunan dari kelas lainnya, dan seterusnya, sehingga membentuk hirarki kelas seperti berikut.
Konstruktor bukanlah anggota, jadi tidak diwariskan ke subclass, tetapi konstruktor dari superclass dapat dipanggil dari subclass. Kelas dapat diturunkan dari kelas-kelas yang paling atas adalah kelas objek=ct.
Dengan cara penurunan kelas seperti ini, kalian dapat menggunakan kembali field dan method yang telah ada dari superclass tanpa harus menulis ulang.
EmoticonEmoticon