java工厂设计模式论文

java工厂设计模式论文

ID:33117276

大小:50.50 KB

页数:12页

时间:2019-02-20

java工厂设计模式论文_第1页
java工厂设计模式论文_第2页
java工厂设计模式论文_第3页
java工厂设计模式论文_第4页
java工厂设计模式论文_第5页
资源描述:

《java工厂设计模式论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、一.程序设计目标   我们组写了个简单的水果生产程序,描述农场种植水果的过程,旨在通过此次设计更进一步了解工程设计模式,加强编程的结构化能力。   开发环境:JDK1.5开发工具:JBuilder2006二.程序设计介绍1.程序结构  我们组为一个水果公司写了个简单的生产程序,该公司专门向市场销售各类水果。我们为程序建立了一个名为farm的工程,程序结构比较简单,总共有7个类,并且都放在一个默认的包中。其层次结构可从下图体现出来:对各个类的说明:Fruit类:水果接口,实现水果方法Apple类:苹果类,实现Fruit

2、接口Grape类:葡萄类,实现Fruit接口Strawberry类:草莓类,实现Fruit接口FruitGardener类:园丁类,可种植各种水果BadFruitException类:要种植的水果不在公司经营的水果范围之内,抛出种植异常PlantFruit类:实现main()方法2.程序设计步骤在这个系统里需要描述下列的水果:葡萄Grape草莓Strawberry苹果Apple水果与其他的植物有很大的不同,就是水果最终是可以采摘食用的。那么一个自然的作法就是建立一个各种水果都适用的接口,以便与农场里的其他植物区分开。

3、如下图所示。水果接口规定出所有的水果必须实现的接口,包括任何水果类必须具备的方法:种植plant(),生长grow()以及收获harvest()。接口Fruit的类图如下所示。这个水果接口的源代码如下所示。代码清单1:接口Fruit的源代码publicinterfaceFruit{//生长voidgrow();//收获voidharvest();//种植voidplant();}描述苹果的Apple类的源代码的类图如下所示。Apple类是水果类的一种,因此它实现了水果接口所声明的所有方法。另外,由于苹果是多年生植物,

4、因此多出一个treeAge性质,描述苹果树的树龄。下面是这个苹果类的源代码。代码清单2:类Apple的源代码publicclassApple   implementsFruit{privateinttreeAge;//生长publicvoidgrow(){   log("Appleisgrowing...");}//收获publicvoidharvest(){   log("Applehasbeenharvested.");}//种植publicvoidplant(){   log("Applehasbeenplan

5、ted.");}//辅助方法publicstaticvoidlog(Stringmsg){   System.out.println(msg);}//树龄的取值方法publicintgetTreeAge(){   returntreeAge;}//树龄的赋值方法publicvoidsetTreeAge(inttreeAge){   this.treeAge=treeAge;}}同样,Grape类是水果类的一种,也实现了Fruit接口所声明的所有的方法。但由于葡萄分有籽和无籽两种,因此,比通常的水果多出一个seedle

6、ss性质,如下图所示。葡萄类的源代码如下所示。可以看出,Grape类同样实现了水果接口,从而是水果类型的一种子类型。代码清单3:类Grape的源代码publicclassGrape   implementsFruit{privatebooleanseedless;//生长publicvoidgrow(){   log("Grapeisgrowing...");}//收获publicvoidharvest(){   log("Grapehasbeenharvested.");}//种植publicvoidplant()

7、{   log("Grapehasbeenplanted.");}//辅助方法publicstaticvoidlog(Stringmsg){   System.out.println(msg);}//有无籽的取值方法publicbooleangetSeedless(){   returnseedless;}//有无籽的赋值方法publicvoidsetSeedless(booleanseedless){   this.seedless=seedless;}}下图所示是Strawberry类的类图。Strawberry

8、类实现了Fruit接口,因此,也是水果类型的子类型,其源代码如下所示。代码清单4:类Strawberry的源代码publicclassStrawberry   implementsFruit{//生长publicvoidgrow(){   log("Strawberryisgrowing...");}//收获publicvoidharvest(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。