(2) 测试过程中,在选择8的时候,要求展示对应产品的sale数量。第一次测试发现抛
出异常,第二次直接测试才成功,后来发现,在之前的步骤中,已经将要测试的code
对应的Product给remove掉了。更换code进行测试即可。
五、实验总结
(1) 面向对象的进一步理解,java中通过实例化对象,可以做很多事情。并且有很多丰
富的函数库来完成要使用的功能。本次实验,重点收获了迭代器的使用,同时对于Arraylist集合的理解掌握更进一步。
实验三
一、实验目的
学会定义并实现接口,学会单例模式以及策略模式的使用
二、实验内容
设计三个接口PlainTextSalesFormatter、HTMLSalesFormatter、XMLSalesFormatter,使用单例模式,使最后的结果根据用户的选择不同的到不同的结果显示。还有编写并实现接口SalesFormatter。在类GourmetCoffee中,运行展示给用户界面菜单,用户选择不同的订单展示方式,在该类中写出方法private void
setSalesFormatter(SalesFormatter newFormatter)、private void displaySales()、private void run() throws IOException,使程序能够正确运行。
三、实验步骤
(1) 主要问题就是如何利用代码,输出可以展示成txt、html、xml格式的文本,以及如何设计单例。 解决思路:根据实验指导书给出的格式,将输出的文本全部先保存在一个String变量里面,最后返回该变量。单例模式根据上课所学,查阅资料得到常见的一种设计方式,饿汉式设计模式。
(2) 以HTMLSalesFormatter为例。Stringstring=newString();首先声明一个String
变量string,然后一步步将要输出的内容附加到string之后
string=string+\最后输出一个正确格式的html文本。 对于单例的处理,采用饿汉式设计模式。 (3) privatePlainTextSalesFormatter(){}
privatestaticfinalPlainTextSalesFormattersingletonInstance=newPlainTextSalesFormatter(); publicstaticPlainTextSalesFormattergetSingletonInstance(){ returnsingletonInstance; }
(4)
单例模式:首先一个私有的构造方法,然后一个静态final类型的
PlainTextSalesFormatter对象,创建并实例化。接着写一个获得一个
PlainTextSalesFormatter对象的一个方法,从而在创建对象的时候保证创建的永远只是这一个。
四、实验结果
(1) 测试结果:
相关推荐: