设计模式十七

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.实验目的

1.熟悉UML统一建模语言;

2.回顾熟悉迭代器模式、中介者模式、备忘录模式;

3.熟悉XML文件的操作;

4.熟悉java的反射机制。

二.实验内容

(1)某教务管理系统中一个班级(Class)包含多个学生(Student),使用Java内置迭代器实现对学生信息的遍历,要求按学生年龄由大到小的次序输出学生信息。用Java实现该过程。

(2)使用中介者模式来说明联合国的作用,要求绘制相应的类图并分析每个类的作用(注:可以将联合国定义为抽象中介者类,联合国下属机构如WTO、WFC、WHO等作为具体中介者类,国家可以作为抽象同事类,而将中国、美国、日本、英国等国家作为具体同事类)。

(3)改进“用户信息操作撤销”实例,使得系统可以实现多次撤销操作(可以使用集合对象如HashMap、ArrayList等来实现)。

三.实验环境

PC微机;

Windows 操作系统;

Visual Studio 程序集成环境。

四.实验内容

(1)某教务管理系统中一个班级(Class)包含多个学生(Student),使用Java内置迭代器实现对学生信息的遍历,要求按学生年龄由大到小的次序输出学生信息。用Java实现该过程。

package设计模式实验十七周_1;

public class Student implements Comparable {

private String no;

private String name;

private int age;

private String zy;

public Student(String no, String name, int age, String zy) { super();

= no;

= name;

= age;

= zy;

}

编号: " + + ". 年龄: " +

+ ". 专业: " + ;

}

}

package设计模式实验十七周_1;

import

import

import

public class Client {

public static void main(String[] args) {

Student s1 = new Student("291", "张一", 20, "音乐专业"); Student s2 = new Student("423", "李红", 21, "计算机专业"); Student s3 = new Student("211", "王文", 22, "机械专业"); Student s4 = new Student("445", "高龙", 19, "国贸专业");

List list = new ArrayList();

(s1);

(s2);

(s3);

(s4);

(list);

"按照年龄进行排序输出: ");

for(Student stu : list){

}

}

}

运行结果:

(2)使用中介者模式来说明联合国的作用,要求绘制相应的类图并分析每个类的作用(注:可以将联合国定义为抽象中介者类,联合国下属机构如WTO、WFC、WHO等作为具体中介者类,国家可以作为抽象同事类,而将中国、美国、日本、英国等国家作为具体同事类)。

package设计模式实验十七周_2;

import

public abstract class UN {

protected String name;

protected Hashtable country;

public String getName() {

return name;

}

public void setName(String name) {

= name;

}

public UN() {

= new Hashtable();

}

public void AddCountry(Country co) {

if (country == null)

return;

(), co);

}

public void DelCountry(String co) {

if (country == null)

return;

(co);

}

public void DelCountry(Country co) {

if (country == null)

return;

());

}

protected void SendMessage(String from, String to, String msg) { Country co = (to);

if (co != null)

(from, msg);

else

"对不起!“" + from + "”不存在,可能还未加入UN!");

}

public void ReceiveMessage(String from, String to, String msg) { SendMessage(from, to, msg);

}

}

package设计模式实验十七周_2;

public abstract class Country {

protected String name;

protected UN wto, who, wfc;

public UN getWto() {

return wto;

}

public void setWto(UN wto) {

= wto;

}

public UN getWho() {

return who;

}

public void setWho(UN who) {

= who;

}

public UN getWfc() {

相关文档
最新文档