20155216 实验二 Java面向对象程序设计
实验二:Java面向对象程序设计
实验内容
1、初步掌握单元测试和TDD。
2、理解并掌握面向对象的三要素:封装、继承、多态。
3、初步掌握UML建模。
4、熟悉S.O.L.I.D原则。
5、了解设计模式。
实验1
实验要求:
根据参考博客下载JUnit完成TDD和单元测试。
实验过程遇到问题:
安装JUnit后,代码assertEquals和JUnit部分仍显示为红色。
解决方案:
点击红色部分,将出现红色的灯泡,点击灯泡,选择JUnit4以解决代码错误问题,在错误的位置出现expected
,使得代码得以通过。
实验2
实验要求:
以TDD的方式完成对StringBuffer的测试。
实验过程遇到问题:
代码测试结果显示在@Test下的测试结果出现错误。
解决方案:
修改产品代码中对于StringBuffer的定义,由于对于StringBuffer的定义不够充分,导致测试代码对产品代码的使用出现问题。
实验3
实验要求:
让系统支持Float类,并在MyDoc类中添加测试代码表明添加正确。
实验过程遇到问题:
直接使用float定义value,编译时出现问题。
解决方案:
在value=100.0
中添加(float)进行强制类型转换,避免double转换成float的失真问题。
实验4
实验要求:
以TDD的方式开发一个复数类Complex,并完成四则运算。
实验过程遇到问题:
测试类代码无法输出运算结果。
解决方案:
在测试代码中使用toString()
,将输出加减乘除的代码行复制到测试代码中。
实验5
实验要求:
使用StarUML对实验二中的代码进行建模,类图中只少两个类。
实验过程遇到问题:
因之前从未用过此软件,且软件为全英文版,影响了对于软件的学习和使用。
解决方案:
通过自己的软件的摸索以及对其他同学的询问,对StarUML的使用方法有了初步的了解,并成功将建模绘制完成。
实验感悟:
1、学习了以TDD的方式来测试产品代码,避免了对测试产品时,对产品代码的修改。
2、了解了系统数据类型的转换。
3、初步学习了使用StarUML建模绘图。