设计模式

->工厂方法模式

//抽象产品角色
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,995评论 1 15
  • 创建型模式 抽象工厂模式(abstract facroty) 3.1模式动机 在工厂方法模式中具体工厂负责生产具体...
    僚机KK阅读 763评论 0 2
  • 简单工厂模式虽然简单,但存在一个很严重的问题。当系统中需要引入新产品时,由于静态工厂方法通过所传入参数的不同来创建...
    justCode_阅读 1,219评论 1 9
  • 工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责太重的问题,但由于工厂方法模式中的每个工厂只生产一...
    justCode_阅读 1,220评论 1 6
  • 行囊无几有你相依 前路遥遥心茫然 趁夜色芳华不惨淡 你我携手闯天涯 枝桠无雀难安 行走颠沛所流离 念你情深缘未了 ...
    北梦沐曦阅读 374评论 5 9