|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
java是一种面向对象的编程语言,优点是可移植性比较高,最初设计时就是本着一次编写到处执行设计的。可以开发各种应用程序和游戏,不过速度没有c++快,所以一般是不用java来编写应用程序和电脑游戏。计划摘自久久学院
看了论坛上的文章,读FactoryMethodPatternUML图,写了个小例子程序。做为文章的增补!
//Creator.java
publicabstractclassCreator
{
/**
*lookslikeafactory
*containssomeproductsandsomeprocessmethods
*/
protectedProductduct;
abstractStringprocessProduct();
abstractStringprocessProductSpecial();
publicStringOperation()
{
returnprocessProduct();//FactoryMethodforimplemention;
}
}
//ConcreteProduct.java
publicclassConcreteProductextendsProduct
{
publicConcreteProduct()
{
System.out.println("constructtheConcreteProductobject");
}
publicStringmakeString(Stringstr)
{
return"Thisistheproductafterprocessing:"+str;
}
}
//Product.java
publicabstractclassProduct
{
publicabstractStringmakeString(Stringstr);
}
//ConcreteCreatorA.java
publicclassConcreteCreatorAextendsCreator
{
/**
*Youcanwritesomeotherclasslikethistooverride
*thesamemethodsdodiffrentthing;
*/
publicConcreteCreatorA()
{
duct=newConcreteProduct();
System.out.println("instancedaproduct");
}
publicStringprocessProduct()
{
System.out.println("productA:");
returnduct.makeString("Make@#aproduct");
}
publicStringprocessProductSpecial()
{
System.out.println("specialproductB:");
//addanothermethodhere
returnduct.makeString("MakeSpecial@#Bproduct");
}
}
//TestFactoryMethod.java
publicclassTestFactoryMethod
{
publicTestFactoryMethod()
{
}
publicstaticvoidmain(String[]arg)
{
ConcreteCreatorAcc=newConcreteCreatorA();
System.out.println(cc.Operation());
System.out.println(cc.processProductSpecial());
}
}
java是一种面向对象的编程语言,优点是可移植性比较高,最初设计时就是本着一次编写到处执行设计的。可以开发各种应用程序和游戏,不过速度没有c++快,所以一般是不用java来编写应用程序和电脑游戏。 |
|