国产探花免费观看_亚洲丰满少妇自慰呻吟_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());
}
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 崇仁县| 岚皋县| 曲靖市| 河源市| 中牟县| 凉城县| 太保市| 望都县| 海丰县| 留坝县| 安龙县| 辽宁省| 金寨县| 凤阳县| 安陆市| 漳平市| 乐平市| 密云县| 凯里市| 图们市| 逊克县| 连州市| 台中县| 临邑县| 乌海市| 吉林省| 武宣县| 固始县| 鹤山市| 巴楚县| 深州市| 阳谷县| 芜湖市| 永清县| 澜沧| 麦盖提县| 右玉县| 剑阁县| 西藏| 河曲县| 冀州市|