1 / 5
文档名称:

工厂模式及抽象工厂模式代码.doc

格式:doc   大小:26KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

工厂模式及抽象工厂模式代码.doc

上传人:scuzhrouh 2020/7/22 文件大小:26 KB

下载得到文件列表

工厂模式及抽象工厂模式代码.doc

文档介绍

文档介绍:实验一工厂模式与抽象工厂模式设计实验内容请使用简单工厂模式设计一个创建不同几何形状,如圆形、方形和三角形实例的描图员(ArtTracer)系统。每个几何图形都要有画出draw()和擦去erase()两个方法。为了更好的在系统中增加其它图形,请用工厂方法模式重构。为了能够在系统中创建几何图形以外的内容,如文字等,请使用抽象工厂模式重构。代码:工厂模式:Shape类及其他的继承类:usingSystem;;;;namespaceShape{publicinterfaceShape{voiddraw();voiderase();}lassCircle:Shape{publicvoiddraw(){("画圆");}publicvoiderase(){("擦去圆");}}lassRectangle:Shape{publicvoiddraw(){("画方形");}publicvoiderase(){("擦去方形");}}lassTriangle:Shape{publicvoiddraw(){("画三角形");}publicvoiderase(){("擦去三角形");}}}工厂类:namespaceShape{publicabstractclassFactor{publicabstractShapefactor();}lassFactorCircle:Factor{publicoverrideShapefactor(){returnnewCircle();}}lassFactorRectangle:Factor{publicoverrideShapefactor(){returnnewRectangle();}}lassFactorTriangle:Factor{publicoverrideShapefactor(){returnnewTriangle();}}}工厂模式测试代码:namespaceShape{classProgram{staticvoidMain(string[]args){("工厂模式测试:");Factorfactorshape=newFactorCircle();().draw();().erase();factorshape=newFactorRectangle();().draw();().erase();factorshape=newFactorTriangle();().draw();().erase();();}}}增加一个非图形类实现抽象工厂模式:namespaceShape{publicabstractclassWord{public