0% menganggap dokumen ini bermanfaat (0 suara)
5 tayangan17 halaman

Abstract Class & Interface

Dokumen ini menjelaskan tentang Abstract Class dan Interface dalam pemrograman Java. Abstract Class tidak dapat diinstansiasi dan digunakan sebagai blueprint untuk subclass, sedangkan Interface adalah kumpulan kontrak yang harus diimplementasikan oleh kelas. Kombinasi keduanya dapat digunakan untuk mendefinisikan perilaku dan struktur dalam sistem, seperti pada contoh sistem E-Commerce.

Diunggah oleh

09040624076
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
5 tayangan17 halaman

Abstract Class & Interface

Dokumen ini menjelaskan tentang Abstract Class dan Interface dalam pemrograman Java. Abstract Class tidak dapat diinstansiasi dan digunakan sebagai blueprint untuk subclass, sedangkan Interface adalah kumpulan kontrak yang harus diimplementasikan oleh kelas. Kombinasi keduanya dapat digunakan untuk mendefinisikan perilaku dan struktur dalam sistem, seperti pada contoh sistem E-Commerce.

Diunggah oleh

09040624076
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Abstract Class & Interface

Abstract Class
● Kelas yang tidak dapat diinstansiasi langsung.
● Jika sebuah kelas punya minimal satu method abstract, maka kelas tersebut harus
dideklarasikan abstract.
● Subclass wajib meng-override method abstract dari superclass.
● Abstract class tidak bisa diinstansiasi langsung, tapi bisa lewat objek subclass.
● Digunakan sebagai blueprint untuk subclass.
● Bisa memiliki:
○ Abstract method → tanpa isi, harus diimplementasikan subclass.
○ Concrete method → punya implementasi.
○ Field & constructor.
Interface
Kumpulan kontrak (perilaku) yang harus diimplementasikan oleh kelas.

Sejak Java 8 bisa berisi:

● Abstract method (wajib diimplementasi).

● Default method (punya implementasi).

● Static method.

● Constant (public static final).


Abstract Class vs Interface
Contoh
Main methodsnya
buat sendiri ya..
Contoh Interface
Kombinasi Abstract Class + Interface
sistem E-Commerce dengan
skenario berikut:

● Ada abstract class User


(memiliki method abstract
displayInfo()).

● Ada interface Payment


(method pay(double
amount)).

● Buat dua subclass


Customer dan Admin, di
mana Customer
mengimplementasikan
Payment.
Keterangan
● Abstract Class User → hanya mendefinisikan displayInfo() sebagai kontrak dasar.
● Interface Payment → mendefinisikan perilaku pay().
● Class Customer → mewarisi User dan mengimplementasi Payment.
● Class Admin → hanya mewarisi User, tidak perlu implementasi Payment.

Main class:

● Membuat objek Customer dan Admin.

● Menunjukkan polymorphism dengan User dan Payment.


Output Program
Kapan Menggunakan?
Abstract Class → gunakan jika ada hubungan "is-a" dan ingin berbagi
kode/atribut.

Interface → gunakan jika hanya butuh kontrak perilaku, tanpa peduli pewarisan.

Gabungan → gunakan keduanya bila perlu: abstract class sebagai kerangka


dasar, interface sebagai kontrak perilaku tambahan.
Latihan
1. Buat abstract class Shape dengan method getArea().

2. Buat subclass Circle dan Rectangle.

3. Buat interface Drawable dengan method draw().

4. Implementasikan Drawable di Circle dan Rectangle.

5. Buat Main untuk menampilkan luas dan menggambar setiap shape.

Anda mungkin juga menyukai