一、实验报告封面
课程:Java程序设计 班级:1653班 姓名:杨金川 学号:20165323
指导教师:娄嘉鹏 实验日期:2018年4月16日
实验时间:13:45 - 15:25 实验序号:二
实验名称:Java面向对象程序设计
二、实验内容
- 初步掌握单元测试和TDD
- 理解并掌握面向对象三要素:封装、继承、多态
- 初步掌握UML建模
- 熟悉S.O.L.I.D原则
- 了解设计模式
三、实验步骤
提交点一 使用JUnit,测试用例
知识点:
1、TDD的一般步骤如下:明确当前要完成的功能,记录成一个测试列表
快速完成编写针对此功能的测试用例 测试代码编译不通过(没产品代码呢) 编写产品代码 测试通过 对代码进行重构,并保证测试通过(重构下次实验练习) 循环完成所有功能的开发 2、面向对象(Object-Oriented)的三要素包括:封装、继承、多态。 3、封装就是将数据与相关行为包装在一起以实现信息就隐藏。Java中用类进行封装。4、继承指一个类的定义可以基于另外一个已经存在的类,即子类基于父类,从而实现父类代码的重用。继承是实现软件可重用的根基,是提高软件系统的可扩展性与可维护性的主要途径。
提交点要求: 提交最后三个JUnit测试用例(正常情况,错误情况,边界情况)都通过的截图,截图上要有画图加水印,输入自己的学号 本提交点考查JUnit会不会使用,测试用例至少要包含正常情况,错误情况,边界情况的测试 结果截图:提交点二 以TDD的方式研究学习StringBuffer
知识点:
学会使用API 掌握TDD 提交点要求: 以 TDD的方式研究学习StringBuffer 提交你的单元测试用例和测试通过的截图,截图要加上学号水印; 测试自己会不会写JUnit测试用例 结果截图:提交点三 体会OCP原则和DIP原则的应用,初步理解设计模式
知识点:
OCP(Open-Closed Principle,开放-封闭原则) DIP(Dependency Inversion Principle,依赖倒置原则) 提交点要求: 让系统支持Double类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印 结果截图:提交点四 以TDD的方式开发一个复数类Complex
提交点要求:
以TDD的方式开发一个复数类Complex, 提交你的单元测试用例和测试通过的截图,截图要加上学号水印; 结果截图:提交点五 了解设计模式
提交点要求:
使用StarUML对实验二中的代码进行建模,发类图的截图,加上学号水印 类图中只少两个类 类,继承,接口实现,组合在UML中表达 结果截图:实验中遇到的问题
问题一:代码中TestCase是红色的,
解决方法:需要将junit.jar,与junit 4-12.jar放入到项目中去 问题二:对于StarUML的使用处于空白状态,不会使用其进行建模 解决方法:通过上网查询找到的教程(),进行学习后使用实验总结
本次实验让我对junit的使用有了初步的了解,也让我初步学会了建模,对于设计模式也是有了一些理解,对于我构建框架很有帮助,或许在编写代码方面我还有很多欠缺的地方,但是通过这次实验,让我加深了对java内容的应用和理解