实验二Java面向对象程序设计
一、 实验内容:
初步掌握单元测试和TDD
理解并掌握面向对象三要素:封装、多态、建模
初步掌握UML
熟悉S.O.L.I.D原则
了解设计模式
二、 实验步骤
(一) 单元测试
三种代码:伪代码、产品代码、测试代码
(1) 伪代码
(2) 产品代码
(3) 测试代码
(4) 经测试结果有错误
(5) 作出修改
(6) 测试无误
TDD(Test Driven Development,测试驱动开发)
(1) 新建项目,新建测试目录,新建测试用例类
(2) 增加测试用例(@Test)
(3) 在src中新建MyUtil类,实现测试用例中的方法
(4) 进行测试,通过
(二) 面向对象三要素
抽象:过程抽象,数据抽象
(1) 过程抽象实例(做了点小修改)
2. 封装、继承与多态
(1) Java中用类进行封装,如Dog类
(2) 测试代码及结果
(3) 在UML中建立Dog类的类图
(4) 仿照Dog类实现Cat类
(5) 将相同属性写入父类
(6)最终代码
(三)设计模式初步
(1)S.O.L.I.D原则
1. SRP——单一职责原则
决不要有一个以上的理由修改一个类。对象提供单一职责的高度封装,对象的改变仅仅依赖于单一职责的改变。
2. OCP——开放-封闭原则
软件实体(类,模块,函数等)应该对扩充开放,对修改封闭。
实现手段:(1)抽象和继承,(2)面向接口编程。
3. LSP——替换原则
子类必须可以被其基类所代;使用指向基类的指针或引用的函数,必须能够在不知道具体派生类对象类型的情况下使用它。
核心思想是父类型对象可以被子类型对象所取代。
4. ISP——接口分离原则
客户不应该依赖他们并未使用的接口(接口的功能不要太多)
5. DIP——依赖倒置原则
高层模块不应该依赖于低层模块,二者都应该依赖于抽象;抽象不应该依赖于细节,细节应该依赖于抽象 。
(2)模式与设计模式
模式可以看作对一个问题的可复用的专家级解决方法
模式中最重要的是设计模式
(3)设计模式实例
(四)练习
(1)伪代码
(2)测试代码
(3)产品代码
三、实验问题
1. 代码测试时发现如下错误
修改产品代码
再次测试,发现依然错误
再次修改
测试通过
四、实验心得