20172304 实验二 《Java面向对象程序设计》 实验报告
20172304 实验二 《Java面向对象程序设计》 实验报告
- 课程名称:《程序设计与数据结构》
- 学生班级:1723班
- 学生姓名:段志轩
- 学生学号:20172304
- 实验时间:2018年4月18日
- 实验名称:《Java面向对象程序设计》
指导老师:王志强老师
代码链接
实验内容
初步掌握单元测试和TDD
理解并掌握面向对象三要素:封装、继承、多态
初步掌握UML建模
熟悉S.O.L.I.D原则
了解设计模式
完成蓝墨云上 (1)-(5)实验。
实验要求
- 完成实验二《Java面向对象程序设计》中的内容。
其中Eclipse相关的内容参考Intellj IDEA 简易教程换成IDEA实现。
实验考核规则
每次实验考核3分
不按要求提交实验过程截图会扣一分(本周五次,只要有一个不合格就会扣分)
实验报告认真写的会加1分(主要是遇到的问题和解决过程)
实验流程
软件准备:
- IEDA
starUML
实验内容:
初步掌握单元测试和TDD
理解并掌握面向对象三要素:封装、继承、多态
初步掌握UML建模
熟悉S.O.L.I.D原则
了解设计模式
实验具体内容
- 实验一:创建Myunit类,并对Myunit类进行测试实现边界检查。
- 实验二:学习StringBuffer类并进行测试。、
- 实验三:让系统支持long型,并添加测试代码。
- 实验四:设计Complex类(复数类),使其支持加减乘除。还有getter,setter,还有toString方法。
实验五:实现实验二中的代码,使用StarUML对实验二中的代码进行建模,发类图的截图,加上学号水印。
实验分析
实验主要是让我们熟悉TDD和单元测试。
==TDD==:- 明确当前要完成的功能,记录成一个测试列表
- 快速完成编写针对此功能的测试用例
- 测试代码编译不通过(没产品代码呢)
- 编写产品代码
- 测试通过
- 对代码进行重构,并保证测试通过(重构下次实验练习)
- 循环完成所有功能的开发
==S.O.L.I.D==; - SRP(Single Responsibility Principle,单一职责原则)
- OCP(Open-Closed Principle,开放-封闭原则)
- LSP(Liskov Substitusion Principle,Liskov替换原则)
- ISP(Interface Segregation Principle,接口分离原则)
DIP(Dependency Inversion Principle,依赖倒置原则)
实验一:根据例子给出的Myutil类进行测试。根据TDD原则,先编出测试代码,然后添加方法。根据例子来看应该对不同等级进行测试然后还要进行边界检查。
实验二:实验二主要是对StringBuffer类进行学习,并测试其中的方法,由于这个类是java中已有的类,所以重点进行测试,通过一些数据的比较得到。
实验三:由于例子已经给出,只要使系统支持自己学号对6取余后的数字对应的类型就可以了。
实验四:这个类是自己编写的。我设计了实部与虚部的getter和setter,加减乘除都是小意思。
实验五:这个实验需要写出类图。只要说明类图中的方法和属性就可了。实验结果
实验一
实验二
实验三
实验四
实验五
实验中遇到的问题
- 问题:由于老师给的资料很详细,所以本次实验并没有出太大的问题,只是在进行实验四的时候,使用assertEquals比较两个double型数据的时候出现了错误。
问题解决方案:后来请教了张旭升学长,在他的提示下,将double型的比较改成了String类型的比较。
其他
经过本次实验,我体会到了就算是基础知识掌握了,也不一定能够搞好编程,有时候编程需要的不仅仅是知识,还有一些灵感,总之编程也需要变通,并不是一成不变的。
参考资料
- 《Java程序设计与数据结构教程(第二版)》学习指导
- 实验二《Java面向对象程序设计》的一点说明
20172304 实验二 《Java面向对象程序设计》 实验报告的更多相关文章
- 20145213《Java程序设计》实验二Java面向对象程序设计实验报告
20145213<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装,继承,多态 初步掌握UML建模 熟悉S.O. ...
- 20145206《Java程序设计》实验二Java面向对象程序设计实验报告
20145206<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...
- 20145308刘昊阳 《Java程序设计》实验二 Java面向对象程序设计 实验报告
20145308刘昊阳 <Java程序设计>实验二 Java面向对象程序设计 实验报告 实验名称 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面相对象三要素:封 ...
- 实验二Java面向对象程序设计实验报告(2)
实验二 Java面向对象程序设计 实验概述: 课程:程序设计与数据结构 班级:1623班 姓名: 邢天岳 学号:2309 指导老师:娄老师 王老师 实验日期:2017.4.16 实验名称: Java面 ...
- 实验二 Java面向对象程序设计实验报告
实验二 Java面向对象程序设计 实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承.多态 3.初步掌握UML建模 4.熟悉S.O.L.I.D原则 5.了解设计模式 实验 ...
- 20145326《Java程序设计》实验二Java面向对象程序设计实验报告
20145326<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...
- 20155217 实验二 Java面向对象程序设计 实验报告
20155217 实验二 Java面向对象程序设计 实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模 ...
- 20145219 《Java程序设计》实验二 Java面向对象程序设计实验报告
20145219 <Java程序设计>实验二 Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S. ...
- 20162305 实验二 Java面向对象程序设计 实验报告
20162305 实验二 Java面向对象程序设计 实验报告 实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承.多态 3.初步掌握UML建模 4.熟悉S.O.L.I.D ...
- 20145239杜文超 《Java程序设计》实验二 Java面向对象程序设计实验报告
20145239 <Java程序设计>实验二 Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S. ...
随机推荐
- 让网页的title动起来
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- python笔记之psutil模块
收集教程 http://www.cnblogs.com/xiao1/p/6164204.html 实战教程 安装psutil模块 pip2 install psutil 实战代码 #encoding= ...
- 深入浅出JavaScript之跨域总结
什么是跨域 1.document.domain+iframe的设置 2.动态创建script 3.利用iframe和location.hash 4.window.name实现的跨域数据传输 5.使用H ...
- 51nod1450 闯关游戏
题目来源: TopCoder 基准时间限制:1 秒 空间限制:131072 KB 分值: 320 一个游戏App由N个小游戏(关卡)构成,将其标记为0,1,2,..N-1.这些小游戏没有相互制约的性质 ...
- 微服务深入浅出(6)-- 熔断器Hystrix
概念 在分布式系统中,一种不可避免的情况就是某些服务会出现故障,导致依赖他们的其他服务出现远程调度的线程问题(雪崩效应).而Hystrix提供的熔断器,通过隔离服务的访问点,能阻止这种分布式系统中出现 ...
- [NOIP2013提高&洛谷P1966]火柴排队 题解(树状数组求逆序对)
[NOIP2013提高&洛谷P1966]火柴排队 Description 涵涵有两盒火柴,每盒装有 n 根火柴,每根火柴都有一个高度. 现在将每盒中的火柴各自排成一列, 同一列火柴的高度互不相 ...
- pytorch--cnn的理解
class Model(nn.Module): def __init__(self): super(Model, self).__init__() self.conv1 = nn.Conv2d(1, ...
- SQl 跨服务器查询脚本示例
1.采用OPENDATASOURCE select top 10 *from OPENDATASOURCE('SQLOLEDB','Data Source=IP地址;User ID=连接用户名称;Pa ...
- 01.Web基础和HTML初始
1.1 上网就是请求数据 我们先不直接解决这个问题,我们做一个小实验.我们每个人的电脑里面,都有一个神秘的文件夹: C:\Users\Weiheng\AppData\Local\Microsoft\W ...
- Jenkins关联GitHub进行构建
一.创建一个自由风格的项目 并在高级中勾选你构建完成后保存项目的路径 二.配置你存放代码的GitHub的地址并添加用户名密码 三.立即构建