Upload
bayu-christian
View
3
Download
0
Embed Size (px)
DESCRIPTION
sfs
Citation preview
ABSTRACT CLASS AND INTERFACESby: De Rosal Ignatius Moses Setiadi
KELAS ABSTRAK
Sebuah kelas abstrak dideklarasikan dengan keyword abstract.
Didalamnya mungkin terdapat atau tidak terdapat
method abstract.
Kelas abstrak tidak dapat di instansiasi, tapi dapatditurunkan.
Abstract Class
KELAS ABSTRAK
Jika sebuah kelas mengandung metode abstrak, makakelas tersebut harus didekalarasikan secara abstrak pula.
CONTOH KELAS ABSTRAK
Kelas abtrak LivingThing(maklukhidup) memiliki 3 metode:
Breath (bernafas)
Eat (makan)
Walk (berjalan) tidak dapat di generalisasi antara human (manusia) yang
berjalan dengan 2 kaki dan dog (anjing) yang berjlana dengan 4 kaki
CONTOH KELAS ABSTRAK [2]
CONTOH KELAS ABSTRAK [3]
KELAS ABSTRAK TIDAK DAPAT DIINSTANSIASI
METODE ABSTRAK
Metode abstrak dideklarasi tanpa diimplementasikan
Cara penulisanya: tanpa kurung kurawal dan diikuti
dengan titik koma
METODE ABSTRAK HARUS DIIMPLEMENTASIKAN
Ketika kelas abstrak diturunkan maka semua metodeabstrak didalamnya harus diimplementasikan pula.
METODE ABSTRAK HARUS DIIMPLEMENTASIKAN [2]
Error terjadi karena:metode calcArea tidak diimplemantasikan
METODE ABSTRAK HARUS DIIMPLEMENTASIKAN [3]
INTERFACES
INTERFACESSebuah interface adalah sebuah tipe referensi, seperti
sebuah kelas.
Hanya berisi konstanta, method signatures tanpa method
bodies dan nested types.
Interface tidak dapat diinstansiasi.
Hanya apat diimplementasikan pada kelas atau
diturunkan pada interface yang lain.
INTERFACE TIDAK DAPAT DIINSTANSIASI
Konstanta
method signatures
IMPLEMENTASI INTERFACE
Kedua metodediimplementasikan
CONTOH INTERFACE LANJUT
UML CLASS DIAGRAM
Lampu
~ statusLampu : int
+ hidupkan(): void
+ matikan(): void
InterfaceLampu
+ keadaanHidup: int = 1{readOnly}
+ keadaanMati: int =0 {readOnly}
+ hidupkan(): void
+ matikan(): void
LampuBeraksi
+ main(String[]): void
MENURUNKAN INTERFACE
MULTI INTERFACE
MULTI INTERFACE LANJUT
MULTI INTERFACE LANJUT
ABSTRACT VS INTERFACE
Abstract Interface
Untuk diturunkan (extends) Untuk diimplementasikan(implements)
Dapat berisi variabel Hanya berisi konstanta (final variabel)
Tidak semua metodedidalamnya abstrak.
Semua metode didalamnyaabstrak.
Tidak dapat melakukanmultiple abstrak
Dapat melakukan multiple interface
THANKS