設計模式

->工廠方法模式

//抽象產品角色
public interface Moveable {  
  void run();
}
//具體產品角色
public class Plane implements Moveable {  
  @Override
    public void run() {  
      System.out.println("plane....");    
  }
}
public class Broom implements Moveable {  
  @Override   
 public void run() { 
       System.out.println("broom.....");
    }
}
//抽象工廠
public abstract class VehicleFactory {    
abstract Moveable create();
}
//具體工廠
public class PlaneFactory extends VehicleFactory{
    public Moveable create() {
        return new Plane();
    }
}
public class BroomFactory extends VehicleFactory{
    public Moveable create() {
        return new Broom();
    }
}
//測試類public class Test {
    public static void main(String[] args) {
        VehicleFactory factory = new BroomFactory(); 
       Moveable m = factory.create();
        m.run(); 
   }
}

->抽象工廠

//抽象工廠類
public abstract class AbstractFactory {
  public abstract Vehicle createVehicle();
  public abstract Weapon createWeapon();
  public abstract Food createFood();
}
//具體工廠類,其中Food,Vehicle,Weapon是抽象類,
public class DefaultFactory extends AbstractFactory{
  @Override
  public Food createFood() {
      return new Apple();
  }
  @Override
  public Vehicle createVehicle() {
      return new Car();
  }
  @Override
  public Weapon createWeapon() {
      return new AK47();
  }
}
//測試類
public class Test {
  public static void main(String[] args) {
      AbstractFactory f = new DefaultFactory();
      Vehicle v = f.createVehicle();
      v.run();
      Weapon w = f.createWeapon();
      w.shoot();
      Food a = f.createFood();
      a.printName();
  }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 設計模式匯總 一、基礎知識 1. 設計模式概述 定義:設計模式(Design Pattern)是一套被反復使用、多...
    MinoyJet閱讀 3,978評論 1 15
  • 創建型模式 抽象工廠模式(abstract facroty) 3.1模式動機 在工廠方法模式中具體工廠負責生產具體...
    僚機KK閱讀 758評論 0 2
  • 簡單工廠模式雖然簡單,但存在一個很嚴重的問題。當系統中需要引入新產品時,由于靜態工廠方法通過所傳入參數的不同來創建...
    justCode_閱讀 1,206評論 1 9
  • 工廠方法模式通過引入工廠等級結構,解決了簡單工廠模式中工廠類職責太重的問題,但由于工廠方法模式中的每個工廠只生產一...
    justCode_閱讀 1,218評論 1 6
  • 行囊無幾有你相依 前路遙遙心茫然 趁夜色芳華不慘淡 你我攜手闖天涯 枝椏無雀難安 行走顛沛所流離 念你情深緣未了 ...
    北夢沐曦閱讀 366評論 5 9