Contoh Factory Pattern
22.36 | Author: 4CHI
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   
          1. Karakter.java
              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();
                                }
                          }
                      }

|
This entry was posted on 22.36 and is filed under . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

0 comments: