20202301 2021-2022-1 《数据结构与面向对象程序设计》实验三报告
# 20202301 2021-2022-1 《数据结构与面向对象程序设计》实验三报告
课程:《程序设计与数据结构》
班级: 2023
姓名: 贾奕琦
学号:20202301
实验教师:王志强
实验日期:2021年10月12日
必修/选修: 必修
## 1.实验内容
1. 初步掌握单元测试和TDD
2. 理解并掌握面向对象三要素:封装、继承、多态
3. 初步掌握UML建模
4. 完成蓝墨云上 (1)-(5)实验。
## 2. 实验过程及结果
1. 提交最后三个测试用例都通过的截图,截图上要有画图加水印,输入自己的学号
2、参考 积极主动敲代码,使用JUnit学习Java (http://www.cnblogs.com/rocedu/p/4837092.html)
参考http://www.cnblogs.com/rocedu/p/6736847.html
以 TDD的方式研究学习StringBuffer,提交你的单元测试用例和测试通过的截图,截图要加上学号水印。
普通测试:
TDD测试
3、对设计模式示例进行扩充,体会OCP原则和DIP原则的应用,初步理解设计模式
用自己的学号%6进行取余运算,根据结果进行代码扩充:
0:让系统支持Byte类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
1:让系统支持Short类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
2:让系统支持Boolean类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
3:让系统支持Long类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
4:让系统支持Float类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
5:让系统支持Double类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
4、任务:以TDD的方式开发一个复数类Complex,要求如下:
// 定义属性并生成getter,setter
double RealPart;
double ImagePart;
Test:
结果:
码云链接:
https://gitee.com/jia-yiqi-20202301/jia/issues/I4DF2W
https://gitee.com/jia-yiqi-20202301/jia/issues/I4DF2S
5、使用[WhiteStarUML](http://whitestaruml.sourceforge.net/)对实验二中的代码进行建模,发类图的截图,加上学号水印。
参考http://www.cnblogs.com/rocedu/p/6736847.html
类图中只少两个类。
## 3. 实验过程中遇到的问题和解决过程
- 问题1: 对类图的知识掌握地不是特别是熟练,在进行第五个实验时,画不出来
- 问题1解决方案:在仔细观察了多个成品类图后,渐渐对类图画法有些想法
- 问题2: Junit需要下载后使用,初始时并不清楚
- 问题2解决方案: 百度后了解
## 其他(感悟、思考等)
Java学习渐渐进展到尾声,在此次实验的进行当中我才发现自己有很多不足,语言的学习仍旧有很大的提升空间。Java延伸于C语言,但与之不尽相同。一味引用C语言的方法会有极大的问题。要学会接受新东西。
## 参考资料
- [《Java程序设计与数据结构教程(第二版)》](https://book.douban.com/subject/26851579/)
- [《Java程序设计与数据结构教程(第二版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html)
- http://www.cnblogs.com/rocedu/p/6736847.html
- http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTEST