国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

Java設(shè)計模式例子FactoryMethodPattern

2019-11-18 11:13:50
字體:
供稿:網(wǎng)友

  //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());
    }
  }

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 南乐县| 昌黎县| 广州市| 宾阳县| 定边县| 惠水县| 汨罗市| 航空| 同江市| 河北区| 筠连县| 城固县| 乐都县| 齐齐哈尔市| 潼南县| 库尔勒市| 磴口县| 卓资县| 宁德市| 克东县| 收藏| 太湖县| 桃园市| 隆昌县| 阿勒泰市| 镶黄旗| 巴林右旗| 沐川县| 德化县| 溧水县| 四子王旗| 宝清县| 黄大仙区| 蒲城县| 陕西省| 郁南县| 台南市| 云和县| 康定县| 天全县| 贡嘎县|