Oleh : Reza Ervani
بسم الله الرحمن الرحيم
Tujuan dari class abstract adalah berfungsi sebagai class dasar yang dapat dilebarkan oleh subclass-subclass untuk membuat implementasi lengkap. Sebagai contoh, bayangkan suatu proses tertentu membutuhkan 3 tahap :
- Tahap sebelum aksi.
- Aksi
- Tahap setelah aksi
Jika tahap sebelum dan sesudah aksi adalah selalu sama, proses tiga tahap tersebut dapat diimplementasikan ke dalam suatu superclass abstract seperti berikut :
public abstract MyAbstractProcess {
public void process() {
stepBefore();
action();
stepAfter();
}
public void stepBefore() {
//implementasi langsung dari superclass abstract
}
public abstract void action(); // implementasi oleh subclass
public void stepAfter() {
//implementasi langsung di dalam superclass abstract
}
}
Perhatikan bagaimana metode action() adalah abstract. Subclass dari MyAbstractProcess sekarang dapat melebarkan MyAbstractProcess dan meng-override metode action().
Saat metode process() dari subclass dipanggil, proses lengkap dieksekusi, termasuk metode action()pada subclass.
Leave a Reply