20202328 2021-2022-1 《数据结构与面向对象程序设计》实验三报告

课程:《程序设计与数据结构》
班级: 2023
姓名: 马文瑞
学号:20202328
实验教师:王志强
实验日期:2021年10月7日
必修/选修: 必修

实验内容

      1. 初步掌握单元测试和TDD

      2. 理解并掌握面向对象三要素:封装、继承、多态

      3. 初步掌握UML建模

      4. 完成蓝墨云上 (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建模

 

posted @ 2022-01-14 11:27  20202328马文瑞  阅读(112)  评论(0编辑  收藏  举报