20155203 实验二《Java面向对象程序设计》实验报告
20155203 实验二《Java面向对象程序设计》实验报告
一、实验内容
-
参考http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTEST
提交最后三个测试用例都通过的截图,截图上要有画图加水印,输入自己的学号。
-
参考 积极主动敲代码,使用JUnit学习Java
以 TDD的方式研究学习StringBuffer,提交你的单元测试用例和测试通过的截图,截图要加上学号水印。
TDD(Test Driven Devlopment, 测试驱动开发)
TDD的一般步骤如下:
- 明确当前要完成的功能,记录成一个测试列表
- 快速完成编写针对此功能的测试用例
- 测试代码编译不通过(没产品代码呢)
- 编写产品代码
- 测试通过
- 对代码进行重构,并保证测试通过(重构下次实验练习)
- 循环完成所有功能的开发
二、练习
- 让系统支持Long类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
- 以TDD的方式开发一个复数类Complex,要求如下:
-
// 定义属性并生成getter,setter
-
double RealPart;
-
double ImagePart;
-
// 定义构造函数
-
public Complex()
-
public Complex(double R,double I)
-
//Override Object
-
public boolean equals(Object obj)
-
public String toString()
-
// 定义公有方法:加减乘除
-
Complex ComplexAdd(Complex a)
-
Complex ComplexSub(Complex a)
-
Complex ComplexMulti(Complex a)
-
Complex ComplexDiv(Complex a)
- 使用StarUML对实验二中的代码进行建模,发类图的截图,加上学号水印。
类图中只少两个类。
三、实验中遇到的问题及解决方法
-
问题一:点击类名称不能出现小灯泡设置test
-
问题一解决方案:使用快捷键
Ctrl+Enter
会非常方便 -
问题二:如何使用StarUML通过代码直接生成类图?
-
问题二解决方法:参考staruml反向(逆向)Java工程通过代码生成类图
-
问题三:在编写实验内容4的complex类equals()方法的代码时,用Object型的对象obj直接取其RealPart和ImagePart时出现错误,不能编译。
-
问题三解决方法:
Complex com = (Complex)obj
进行强制类型转换,再使用getter方法获取对象的属性
四、实验体会和收获
这次实验使我综合的运用了一直以来所学习的只是解决问题,加深了对很多函数例如toString()的理解,拓展了对于很多函数的应用。通过下载了很多有效的软件大大提高了我的学习效率!
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 5min | 5% |
设计 | 5min | 5% |
代码实现 | 20min | 22% |
测试 | 45min | 46% |
分析总结 | 20min | 22% |