课程:《程序设计与数据结构》
班级: 2023
姓名: 马文瑞
学号:20202328
实验教师:王志强
实验日期:2021年10月7日
必修/选修: 必修
实验内容
-
初步掌握单元测试和TDD
-
理解并掌握面向对象三要素:封装、继承、多态
-
初步掌握UML建模
-
完成蓝墨云上 (1)-(5)实验。
(1)参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTEST 完成单元测试的学习
(2)参考 http://www.cnblogs.com/rocedu/p/4837092.html ,以TDD的方式研究学习StringBuffer
(3)参考 https://www.cnblogs.com/rocedu/p/4472842.html ,对设计模式示例进行扩充,体会OCP原则和DIP原则的应用,初步理解设计模式
(4)以TDD的方式开发一个复数类Complex
(5)使用StarUML对实验二中的代码进行建模
2. 实验过程及结果
一:单元测试
- 产品代码
- 测试代码
- 测试结果
二:以 TDD的方式研究学习StringBuffer
- 产品代码
- 测试代码
- 测试结果
三:对设计模式示例进行扩充,体会OCP原则和DIP原则的应用
abstract class Data{
abstract public void DisplayValue();
}
class Integer extends Data {
int value;
Integer(){
value = 100;
}
public void DisplayValue(){
System.out.println(value);
}
}
class Double extends Data {
double value;
Double(){
value = 99.999999999999;
}
public void DisplayValue(){
System.out.println(value);
}
}
abstract class Factory{
abstract public Data CreateDataObject();
}
class IntFactory extends Factory {
public Data CreateDataObject(){
return new Integer();
}
}
class Document{
Data pd;
Document(Factory pf){
pd = pf.CreateDataObject();
}
public void DisplayData(){
pd.DisplayValue();
}
}
class DoubleFactory extends Factory {
public Data CreateDataObject(){
return new Double();
}
}
public class MyDoc {
static Document i,d;
public static void main(String[] args) {
int a = 20202328%6;
System.out.println("学号运算结果为:"+a);
if (a==5)
System.out.println("让系统支持Double类");
i = new Document(new IntFactory());
i.DisplayData();
d = new Document(new DoubleFactory()) ;
d.DisplayData();
}
}
学号计算结果为4
四:以TDD的方式开发一个复数类Complex
- 产品代码
- 测试代码
- 测试结果
五:UML建模