重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

Java工厂设计模式的代码怎么写

这篇“Java工厂设计模式的代码怎么写”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java工厂设计模式的代码怎么写”文章吧。

成都创新互联主营湘潭县网站建设的网络公司,主营网站建设方案,成都app软件开发公司,湘潭县h5微信小程序定制开发搭建,湘潭县网站营销推广欢迎湘潭县等地区企业咨询

实现方法

我们将创建一个Shape接口和实现Shape接口的具体类。一个工厂类ShapeFactory会在下一步中定义。

FactoryPatternDemo这是一个演示类,将使用ShapeFactory来获取一个Shape对象。它会将信息(CIRCLE/RECTANGLE/SQUARE)传递给ShapeFactory以获取所需的对象类型。

实现工厂模式的结构如下图所示-

java-61.jpg

第1步

创建一个接口-

Shape.java

publicinterfaceShape{

voiddraw();

}

第2步

创建实现相同接口的具体类。如下所示几个类-

Rectangle.java

publicclassRectangleimplementsShape{

@Override

publicvoiddraw(){

System.out.println("InsideRectangle::draw()method.");

}

}

Square.java

publicclassSquareimplementsShape{

@Override

publicvoiddraw(){

System.out.println("InsideSquare::draw()method.");

}

}

Circle.java

publicclassCircleimplementsShape{

@Override

publicvoiddraw(){

System.out.println("InsideCircle::draw()method.");

}

}

第3步

创建工厂根据给定的信息生成具体类的对象。

ShapeFactory.java

publicclassShapeFactory{

//usegetShapemethodtogetobjectoftypeshape

publicShapegetShape(StringshapeType){

if(shapeType==null){

returnnull;

}

if(shapeType.equalsIgnoreCase("CIRCLE")){

returnnewCircle();

}elseif(shapeType.equalsIgnoreCase("RECTANGLE")){

returnnewRectangle();

}elseif(shapeType.equalsIgnoreCase("SQUARE")){

returnnewSquare();

}

returnnull;

}

}

第4步

使用工厂通过传递类型等信息来获取具体类的对象。

FactoryPatternDemo.java

publicclassFactoryPatternDemo{

publicstaticvoidmain(String[]args){

ShapeFactoryshapeFactory=newShapeFactory();

//getanobjectofCircleandcallitsdrawmethod.

Shapeshape1=shapeFactory.getShape("CIRCLE");

//calldrawmethodofCircle

shape1.draw();

//getanobjectofRectangleandcallitsdrawmethod.

Shapeshape2=shapeFactory.getShape("RECTANGLE");

//calldrawmethodofRectangle

shape2.draw();

//getanobjectofSquareandcallitsdrawmethod.

Shapeshape3=shapeFactory.getShape("SQUARE");

//calldrawmethodofcircle

shape3.draw();

}

}

第5步

验证输出结果如下-

InsideCircle::draw()method.

InsideRectangle::draw()method.

InsideSquare::draw()method.

Java工厂设计模式的代码怎么写

以上就是关于“Java工厂设计模式的代码怎么写”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注创新互联行业资讯频道。


新闻标题:Java工厂设计模式的代码怎么写
URL标题:http://cqcxhl.cn/article/joophe.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP