命令模式实验报告模板.doc

上传人:doc321 文档编号:14950333 上传时间:2022-02-26 格式:DOC 页数:8 大小:168KB
返回 下载 相关 举报
命令模式实验报告模板.doc_第1页
第1页 / 共8页
命令模式实验报告模板.doc_第2页
第2页 / 共8页
命令模式实验报告模板.doc_第3页
第3页 / 共8页
命令模式实验报告模板.doc_第4页
第4页 / 共8页
命令模式实验报告模板.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《命令模式实验报告模板.doc》由会员分享,可在线阅读,更多相关《命令模式实验报告模板.doc(8页珍藏版)》请在三一文库上搜索。

1、XXXXXX学校实 验 报 告课程名称:Java设计模式 班级: 11软件工程学号: 姓名: 实验二 命令模式的应用1. 实验目的1、掌握命令模式的结构和使用环境2、应用命令模式解决实际问题2. 实验内容实现一个通讯录程序,命令模式下的JAVA程序, 该程序具备添加,删除,和查看通讯录信息的功能界面: 1.添加联系人信息 2删除联系人信息 3查看联系人信息 - 当点击按钮添加时,以进入添加联系人信息,添加的信息包括姓名和电话号码 当点击按钮删除时,可进入删除联系人信息,通过输入联系人姓名完成删除。 当点击按钮查看时,可进行查看,通过输入联系人姓名,查看其他电话号码。 3. 实验步骤(1) 设计

2、思路:(需要几个类、接口,它们各自的角色并画出类图)实验的设计思路才用命令模式,其中请求者为AddressBook.java,接受者为Woker.java,命令接口为Command.java,具体命令有三个分别为AdditionCommand.Java,DeleteCommand.java,QueryCommand.java,以及main类AddressBookMain.java.UML建模图如下:(2) 程序代码(需加注释)实验二 命令模式的应用1. 实验目的1、掌握命令模式的结构和使用环境2、应用命令模式解决实际问题2. 实验内容实现一个通讯录程序,命令模式下的JAVA程序, 该程序具备添

3、加,删除,和查看通讯录信息的功能界面: 1.添加联系人信息 2删除联系人信息 3查看联系人信息 - 当点击按钮添加时,以进入添加联系人信息,添加的信息包括姓名和电话号码 当点击按钮删除时,可进入删除联系人信息,通过输入联系人姓名完成删除。 当点击按钮查看时,可进行查看,通过输入联系人姓名,查看其他电话号码。 3. 实验步骤(1) 设计思路:(需要几个类、接口,它们各自的角色并画出类图)主类package honework1;import java.awt.HeadlessException;import java.awt.*;import javax.swing.*;public class

4、People extends JFrame Invoke del,add,che;UserList user; People() setLayout(new FlowLayout();/设置页面的布局setTitle(通讯录);del = new Invoke();/添加三个按钮add = new Invoke();che = new Invoke();user = new UserList();del.setCommand(new Del(user);add.setCommand(new Add(user);che.setCommand(new Check(user);add(del.get

5、Button();/把按钮放到页面中add(add.getButton();add(che.getButton();add(user);setSize(300,300);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/实现窗口的关闭setVisible(true); public static void main(String args)People people = new People();接受者package honework1;import java.awt.TextField;import java.util.*;import java

6、x.swing.*;public class UserList extends JPanelHashMap hm=new HashMap();JTextField text1,text2;public UserList() text1=new JTextField(10); add(text1); text2=new JTextField(10); add(text2);/实现在hashmap中添加一条记录的功能public void add()String str=text1.getText();String str1=text2.getText();Random r1=new Random

7、();hm.put(str,str1);text1.setText(null);text2.setText(null);/实现在hashmap中删除一条记录的功能public void del() hm.remove(text1.getText();text1.setText(null);text2.setText(null);/实现在hashmap中查询记录的功能public void check() String str=text1.getText();String str1=hm.get(str);text2.setText(str1); 具体命令:package honework1;p

8、ublic class Del implements Command UserList list; Del(UserList list) this.list = list; public void execute() list.del();public String getName() return 删除联系人;package honework1;public class Add implements Command UserList list; Add(UserList list) this.list = list; public void execute() list.add(); pub

9、lic String getName() return 添加联系人;package honework1;public class Check implements Command UserList list; String name; Check(UserList list) this.list = list; public void execute() list.check();public String getName() return 查询联系人;请求者:package honework1;import java.awt.event.ActionEvent;import java.awt

10、.event.ActionListener;import javax.swing.JButton;public class Invoke JButton button; Command command; Invoke() button = new JButton(); button.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) excuteCommand(); ); public void setCommand(Command command) mand = command;b

11、utton.setText(command.getName(); public void excuteCommand() command.execute(); public JButton getButton() return button; (2) 运行截图(3) 实验结果与体会: 通过这个小小的通讯录,这个实验主要目的是为了使我们掌握命令模式 。但是在做的过程中,它不仅是我对过去所学的Java的知识得到了巩固,而且也让我学到了新的知识。比如hashmap的用法,在之前的学习中我一直用的是arraylist从没有用过hashmap。所以对于hashmap我是很陌生的,但是在这次的实验中我从网上和帮助文档里知道了hashmapd的相关的知识。虽然这个实验还存在着许多缺陷比如判断是否已存在联系人等其他方面还未完善,但是我会继续对这个小实验进行改进的。4 . 教师评语:8 / 8文档可自由编辑打印

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1