2017-2018-2 20165215 实验二 Java面向对象程序设计
20165215 实验二 Java面向对象程序设计
一、实验报告封面
课程:Java程序设计 班级:1652班 姓名:张家佳 学号:20165215
指导教师:娄嘉鹏 实验日期:2018年4月16日
实验时间:15:35 - 18:00 实验序号:二
实验名称: Java面向对象程序设计
实验目的与要求:
- 完成实验、撰写实验报告,注意实验报告重点是运行结果,遇到的问题以及分析
- 实验报告中统计自己的PSP(Personal Software Process)时间
- 掌握使用IDEA完成基础编程与程序调试的能力
二、实验内容
- 初步掌握单元测试和TDD
- 理解并掌握面向对象三要素:封装、继承、多态
- 初步掌握UML建模
- 熟悉S.O.L.I.D原则
- 了解设计模式
三、实验步骤
(一)单元测试
- 新建一个项目,在项目下新建
MyUtil
类
- 测试对类的实现,类
XXXX
的单元测试,我们一般写建一个XXXXTest
的类,针对MyUtil
类我们写一个MyUtilTest.java
的测试模块。
- 若测试结果符合预期,则出现
test passed!
(如下图),否则将显示错误
- 正常情况
- 异常情况
- 边界情况
(二)以 TDD的方式研究学习StringBuffer
- 创建新目录,并在该目录下创建
StringBufferDemo
类 - 鼠标单击类名,单击出现的灯泡状图标或按
Alt + Entert
,在弹出的菜单中选择Create Test
- 编写代码测试
StringBufferDemo
类的的charAt(),indexOf(),capacity(),length(),toString()
capacity()
返回的是目前的最大容量length()
返回的是字符串的长度indexOf(String s)
子串匹配,返回输入的子字符串的第一个字母在母字符串的位置charAt(int i)
返回的是字符串中的第i+1个字符
4.运行结果
(三)对设计模式示例进行扩充
- 我的学号是20165215,15%6=3,因此需要让系统支持Long类,并在MyDoc类中添加测试代码表明添加正确
- 在程序中新建Long类(Date类的子类)和LongFactory类(Factroy类的子类)
- 修改主函数MyDoc为
public class MyDoc {
static Document d;
public static void main(String[] args) {
d = new Document(new LongFactory());
d.DisplayData();
}
- 运行结果
(四)以TDD的方式开发一个复数类Complex
(五)使用StarUML对实验二中的代码进行建模
实验中遇到的问题
- 问题:创建test类时,junit显示为红标
- 解决方法:在
Project Structure
中添加如下junit包,并将Testing library
由JUnit3改为JUnit4
代码托管
PSP时间
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 10min | 9.5% |
设计 | 15min | 14.2% |
代码实现 | 30min | 28.5% |
测试 | 20min | 19.0% |
分析总结 | 30min | 28.5% |