科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件Java设计模式例子 FactoryMethod Pattern

Java设计模式例子 FactoryMethod Pattern

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

//Creator.java

作者:builder.com.cn 2007年8月26日

关键字: 设计模式 java 工厂模式

  • 评论
  • 分享微博
  • 分享邮件
//Creator.java
  
  public abstract class Creator
  {
    /**
     * looks like a factory
     * contains some products and some process methods
     */
    protected Product duct;
    abstract String processProduct();
    abstract String processProductSpecial();
    public String Operation()
    {
      return processProduct(); // FactoryMethod for implemention;
    }
  }
  
  //ConcreteProduct.java
  
  public class ConcreteProduct extends Product
  {
    public ConcreteProduct()
    {
      System.out.println("construct the ConcreteProduct object");
    }
    public String makeString(String str)
    {
      return "This is the product after processing:"+str;
    }
  }
  
  //Product.java
  public abstract class Product
  {
    public abstract String makeString(String str);
  }
  
  //ConcreteCreatorA.java
  
  public class ConcreteCreatorA extends Creator
  {
    /**
     * You can write some other class like this to override
     * the same methods do diffrent thing;
     */
    public ConcreteCreatorA()
    {
      duct=new ConcreteProduct();
      System.out.println("instanced a product");
  
    }
    public String processProduct()
    {
      System.out.println("product A:");
      return duct.makeString("Make @#a product");
  
    }
    public String processProductSpecial()
    {
      System.out.println("special product B:");
      //add another method here
      return duct.makeString("Make Special @#B product");
    }
  }
  
  //TestFactoryMethod.java
  public class TestFactoryMethod
  {
    public TestFactoryMethod()
    {
    }
    public static void main(String[] arg)
    {
      ConcreteCreatorA cc=new ConcreteCreatorA();
      System.out.println(cc.Operation());
      System.out.println(cc.processProductSpecial());
    }
  } 查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章