Berikut ini adalah contoh program sederhana yang mengimplementasikan konsep factory pattern. Program ini sebenarnya merupakan tugas kelas yang diberikan oleh dosen desain pattern saya, saya sengaja mempublishkan hasil tugas ini agar bisa membantu teman-teman yang juga belajar tentang konsep factori pattern.
- Rancangan Class Diagram Program
- Source Code Program
public abstract class Karakter {
protected int peluru;
protected String nama;
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
public int getPeluru() {
return peluru;
}
public void setPeluru(int peluru) {
this.peluru = peluru;
}
public abstract void Tembak();
}
2. Army.java
public class Army extends Karakter{
public Army() {
nama="army";
peluru=100;
}
@Override
public void Tembak() {
if(peluru>1){
peluru=peluru-2;
System.out.println("tembak");
System.out.println("sisa peluru ="+peluru);
}else{
System.out.println("reload");
}
}
}
3. Civilian.java
public class Civilian extends Karakter {
public Civilian(){
nama="Civilian";
peluru=100;
}
@Override
public void Tembak() {
if(peluru>1){
peluru=peluru-3;
System.out.println("tembak");
System.out.println("sisa peluru ="+peluru);
}else{
System.out.println("hide");
}
}
}
4. Factory.java
public class Factory {
public static Karakter getKarakter(String name) {
if (name.equalsIgnoreCase("a")) {
return new Army();
} else if (name.equalsIgnoreCase("c")) {
return new Civilian();
} else {
return null;
}
}
public static void main(String[] args) {
Karakter k=getKarakter("a");
for (int i = 0; i < 51; i++) {
k.Tembak();
}
}
}
0 comments: