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

首頁 > 學院 > 開發設計 > 正文

使用UML編寫Java 設計模式例子 FactoryMethod Pattern

2019-11-18 13:43:13
字體:
來源:轉載
供稿:網友

  摘自久久學院
看了論壇上的文章,讀FactoryMethod Pattern UML圖,寫了個小例子程序。做為文章的補充!
//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());
}
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东莞市| 巨鹿县| 布尔津县| 大庆市| 晋城| 清水河县| 太保市| 南乐县| 保山市| 洛隆县| 临夏县| 饶河县| 绥江县| 那坡县| 平顺县| 门头沟区| 二连浩特市| 铁岭县| 日照市| 云安县| 武宣县| 大安市| 克拉玛依市| 乡城县| 鄂尔多斯市| 富阳市| 广元市| 安泽县| 江口县| 南汇区| 磴口县| 桂东县| 茶陵县| 陆良县| 红原县| 进贤县| 天等县| 喀喇| 普陀区| 九龙坡区| 岢岚县|