博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20165323 实验二 Java面向对象程序设计
阅读量:6654 次
发布时间:2019-06-25

本文共 1419 字,大约阅读时间需要 4 分钟。

一、实验报告封面

课程:Java程序设计 班级:1653班 姓名:杨金川 学号:20165323

指导教师:娄嘉鹏 实验日期:2018年4月16日

实验时间:13:45 - 15:25 实验序号:二

实验名称:Java面向对象程序设计

二、实验内容

  1. 初步掌握单元测试和TDD
  2. 理解并掌握面向对象三要素:封装、继承、多态
  3. 初步掌握UML建模
  4. 熟悉S.O.L.I.D原则
  5. 了解设计模式

三、实验步骤

提交点一 使用JUnit,测试用例

知识点:

1、TDD的一般步骤如下:

明确当前要完成的功能,记录成一个测试列表

快速完成编写针对此功能的测试用例
测试代码编译不通过(没产品代码呢)
编写产品代码
测试通过
对代码进行重构,并保证测试通过(重构下次实验练习)
循环完成所有功能的开发
2、面向对象(Object-Oriented)的三要素包括:封装、继承、多态。
3、封装就是将数据与相关行为包装在一起以实现信息就隐藏。Java中用类进行封装。

4、继承指一个类的定义可以基于另外一个已经存在的类,即子类基于父类,从而实现父类代码的重用。继承是实现软件可重用的根基,是提高软件系统的可扩展性与可维护性的主要途径。

提交点要求:
提交最后三个JUnit测试用例(正常情况,错误情况,边界情况)都通过的截图,截图上要有画图加水印,输入自己的学号
本提交点考查JUnit会不会使用,测试用例至少要包含正常情况,错误情况,边界情况的测试
结果截图:
1296510-20180416143335571-1850975376.jpg

提交点二 以TDD的方式研究学习StringBuffer

知识点:

学会使用API
掌握TDD
提交点要求:
以 TDD的方式研究学习StringBuffer
提交你的单元测试用例和测试通过的截图,截图要加上学号水印;
测试自己会不会写JUnit测试用例
结果截图:
1296510-20180416143652949-746034203.jpg

提交点三 体会OCP原则和DIP原则的应用,初步理解设计模式

知识点:

OCP(Open-Closed Principle,开放-封闭原则)
DIP(Dependency Inversion Principle,依赖倒置原则)
提交点要求:
让系统支持Double类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
结果截图:
1296510-20180416144425096-1141842033.jpg

提交点四 以TDD的方式开发一个复数类Complex

提交点要求:

以TDD的方式开发一个复数类Complex,
提交你的单元测试用例和测试通过的截图,截图要加上学号水印;
结果截图:
1296510-20180416144614095-732787457.jpg

提交点五 了解设计模式

提交点要求:

使用StarUML对实验二中的代码进行建模,发类图的截图,加上学号水印
类图中只少两个类
类,继承,接口实现,组合在UML中表达
结果截图:
1296510-20180416144938678-1490868084.jpg

实验中遇到的问题

问题一:代码中TestCase是红色的,

1296510-20180416145332208-1226047181.png
解决方法:需要将junit.jar,与junit 4-12.jar放入到项目中去
1296510-20180416145555420-488289028.png
问题二:对于StarUML的使用处于空白状态,不会使用其进行建模
解决方法:通过上网查询找到的教程(),进行学习后使用

实验总结

本次实验让我对junit的使用有了初步的了解,也让我初步学会了建模,对于设计模式也是有了一些理解,对于我构建框架很有帮助,或许在编写代码方面我还有很多欠缺的地方,但是通过这次实验,让我加深了对java内容的应用和理解

转载于:https://www.cnblogs.com/asd65360323/p/8855749.html

你可能感兴趣的文章
input按钮的background-image属性兼容性问题
查看>>
IE8、IE9下访问博客报不安全『博客帮助』文档
查看>>
HDU 5162
查看>>
Python 获取本机ip地址
查看>>
NO.1 关于禅道
查看>>
win-codeblocks-16.01
查看>>
Cacti中文版在Centos上的安装(1)
查看>>
转:路由器MTU值对于网络通讯的影响(解决部分网站打不开问题)
查看>>
状态模式
查看>>
PHP,安卓,ios相互适用的AES加密算法
查看>>
我的友情链接
查看>>
LitePal的使用
查看>>
查找旁站路径的几种方法
查看>>
Cisco路由配置入门
查看>>
我的友情链接
查看>>
创建并调用 DLL(1)
查看>>
lvs+keepalived实现DR模式热备
查看>>
各种媒体数据以 base64 编码方式直接嵌入网页中的写法
查看>>
由客户现场引发的思考
查看>>
Android应用及应用管理
查看>>