服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

使用uml编写java 设计模式例子 factorymethod pattern


  摘自久久学院
看了论坛上的文章,读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());
}
}

扫描关注微信公众号