Abstract Factory Pattern

Hello kawaan , kali ini kita akan membahas mengenai Abstract Factory Pattern ( apaan tuh??? ). Abstract Factory Pattern merupakan sebuah pola yang dibuat dengan tujuan sebagai pola/kontrak bagi class turunannya. Disini kita akan membuat sebuah class induk yang bersifat abstract beserta method yang bersifat abstract. Untuk lebih jelasnya mari kita lihat contoh dibawah ini.

abstract

Pada hirarki diatas kita akan membuat class Monster menjadi sebuah abstract class, sehingga class Monster hanya akan menjadi pola bagi class turunannya dan tidak dapat dibuat objeknya lagi.

Class Monster

public abstract class Monster {

    public abstract void status();
}

Class Naga

public class Naga extends Monster{

    @Override
    public void status() {
        System.out.println("Naga Sedang marah");
    }

}

Class Sapi

public class Sapi extends Monster {

    @Override
    public void status() {
        System.out.println("Sapi sedang Tidur");
    }

}

Class Main

public class Main {
    public static void main(String[] args) {
        Monster m=new Naga();
        m.status();

        Monster mm=new Sapi();
        mm.status();

    }
}

Hasil Running …

4-24-2013 9-00-12 PM

Kesimpulan : dengan kita menggunakan abstract factory pattern kita tidak perlu lagi membuat method yang sama berulang-ulang, cukup membuat sebuah class abstract dan diturunkan pada class yang hendak mewarisinya. Selain itu kita juga akan terhindar dari pembuatan objek yang tidak dikenal karena sesuai dengan ciri abstract class itu sendiri yaitu tidak dapat dibuat objeknya.

Baiklah kawan-kawan sekian dulu untuk penjelasan kali ini, jika ada pertanyaan silahkan corat-coret dibawah😛 .

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s