20202329 实验三《数据结构与面向对象程序设计》实验报告
# 20202329 2021-2022-1 《数据结构与面向对象程序设计》实验三报告
课程:《程序设计与数据结构》
班级: 2023
姓名: 张焘
学号:20202329
实验教师:王志强
实验日期:2021年9月23日
必修/选修: 必修
##实验内容
下载安装并使用IDEA,完成下面实验(https://www.cnblogs.com/rocedu/p/6371315.html)。
1. 初步掌握单元测试和TDD
2. 理解并掌握面向对象三要素:封装、继承、多态
3. 初步掌握UML建模
4. 完成蓝墨云上 (1)-(5)实验。
##实验结果
1. 初步掌握单元测试和TDD
2. 理解并掌握面向对象三要素:封装、继承、多态
【1】封装:就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。访问时通过getter和setter方法
【2】继承:是指可以让某个类型的对象获得另一个类型的对象的属性的方法。通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”。
【3】多态:一个类实例的相同方法在不同情形有不同表现形式,父类可以指向子类
3. 初步掌握UML建模
4. 完成蓝墨云上 (1)-(5)实验。
(1)提交最后三个测试用例都通过的截图,截图上要有画图加水印,输入自己的学号。
(2):以 TDD的方式研究学习StringBuffer,提交你的单元测试用例和测试通过的截图,截图要加上学号水印
(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
(5):对实验二中的代码进行建模,发类图的截图,加上学号水印。
## 3. 实验过程中遇到的问题和解决过程
问题1:单元测试junit配置是,根据指示配置junit3会显示错误
解决方法:根据提示发现可以使用其他版本的junit,通过更改配置解决问题
问题二:UML的使用不太懂
解决方法:通过今天课上讲解的ODD设计中get到了点,课下自己尝试
## 其他(感悟、思考等)
通过本次试验课,能够初步掌握了单元测试和TDD,对于UML也有了较浅的了解。IDEA的使用相较与之前使用的Ubuntu有很多的便捷之处,这对于我们程序的编写提供了很多便利。之前使用Ubuntu是配置上传码云总是会出错,但使用IDEA配置上传码云很成功,也解决了之前无法上传码云的问题。对于本学期Java课程的学习,也逐渐接近了尾声,但我对于程序的编写还是十分的生疏,以后可以尝试去多练习抄书上的代码。