1.
Abstract
Class
Abstract
class adalah kelas murni (tanpa objek) dan tidak boleh memiliki objek (tidak
boleh ada instansiasi) serta method-method yang abstract harus disempurna-kan
oleh kelas turunannya melalui override.
Suatu kelas dapat diinstansiasi menjadi
objek, misal kelas Dosen dapat diinstansiasi menjadi budi, heri, heru, namun
tidak mungkin dapat menginstansiasi kelas MahlukHidup, kelas Hewan, dan kelas
Manusia, sebab kelas tersebut terlalu umum (abstract), kelas seperti inilah
yang disebut kelas abstract. Dibutuhkan kelas turunan yang lebih khusus.
[modifier]
abstract class NamaKelas {
// deklarasi attribute
// definisi/prototype method
}
2.
Interface
Interface
adalah kelas yang paling abstract, yang berisi daftar deklarasi method (seluruh
method belum memiliki implementasi).
Interface dapat
dianalogikan sebagai kontrak yang dapat dipakai oleh setiap kelas.
Deklarasi
Interface
Bentuk umum deklarasi:
[modifier]
interface NamaInterface {
// deklarasi konstanta
//
deklarasi method
} // catatan : modifier static
tidak boleh digunakan dalam interface
Bentuk
umum implementasi :
[modifier] class NamaKelas implements NamaInterface {
// penggunaan konstanta
// implementasi method
}
3.
Interface
vs Abstract Class
Interface
dan kelas abstract memilki kesamaan sama-sama tidak boleh instansiasi objek.
Perbedaan
interface dangan kelas abstract adalah sebagai berikut :
komponen
|
interface
|
abstract
class
|
attribute
|
hanya berupa konstanta
|
bebas memilki tipe data apa saja
|
method
|
berupa deklarasi
|
boleh deklarasi, boleh berupa
method lengkap
|
syntax
|
seluruhnya abstract (berupa
deklarasi)
|
sebagian abstract
|
Komentar
Posting Komentar