命令模式实验报告模板

上传人:hao****an 文档编号:163466251 上传时间:2022-10-21 格式:DOC 页数:8 大小:168.01KB
返回 下载 相关 举报
命令模式实验报告模板_第1页
第1页 / 共8页
命令模式实验报告模板_第2页
第2页 / 共8页
命令模式实验报告模板_第3页
第3页 / 共8页
点击查看更多>>
资源描述
XXXXXX学校实 验 报 告课程名称:Java设计模式 班级: 11软件工程学号: 姓名: 实验二 命令模式的应用1. 实验目的1、掌握命令模式的结构和使用环境2、应用命令模式解决实际问题2. 实验内容实现一个通讯录程序,命令模式下的JAVA程序, 该程序具备添加,删除,和查看通讯录信息的功能界面: 1.添加联系人信息 2删除联系人信息 3查看联系人信息 - 当点击按钮添加时,以进入添加联系人信息,添加的信息包括姓名和电话号码 当点击按钮删除时,可进入删除联系人信息,通过输入联系人姓名完成删除。 当点击按钮查看时,可进行查看,通过输入联系人姓名,查看其他电话号码。 3. 实验步骤(1) 设计思路:(需要几个类、接口,它们各自的角色并画出类图)实验的设计思路才用命令模式,其中请求者为AddressBook.java,接受者为Woker.java,命令接口为Command.java,具体命令有三个分别为AdditionCommand.Java,DeleteCommand.java,QueryCommand.java,以及main类AddressBookMain.java.UML建模图如下:(2) 程序代码(需加注释)实验二 命令模式的应用1. 实验目的1、掌握命令模式的结构和使用环境2、应用命令模式解决实际问题2. 实验内容实现一个通讯录程序,命令模式下的JAVA程序, 该程序具备添加,删除,和查看通讯录信息的功能界面: 1.添加联系人信息 2删除联系人信息 3查看联系人信息 - 当点击按钮添加时,以进入添加联系人信息,添加的信息包括姓名和电话号码 当点击按钮删除时,可进入删除联系人信息,通过输入联系人姓名完成删除。 当点击按钮查看时,可进行查看,通过输入联系人姓名,查看其他电话号码。 3. 实验步骤(1) 设计思路:(需要几个类、接口,它们各自的角色并画出类图)主类package honework1;import ;import java.awt.*;import javax.swing.*;public class 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.getButton();/把按钮放到页面中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 ;import java.util.*;import javax.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();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;public 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(); public 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.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;button.setText(command.getName(); public void excuteCommand() command.execute(); public JButton getButton() return button; (2) 运行截图(3) 实验结果与体会: 通过这个小小的通讯录,这个实验主要目的是为了使我们掌握命令模式 。但是在做的过程中,它不仅是我对过去所学的Java的知识得到了巩固,而且也让我学到了新的知识。比如hashmap的用法,在之前的学习中我一直用的是arraylist从没有用过hashmap。所以对于hashmap我是很陌生的,但是在这次的实验中我从网上和帮助文档里知道了hashmapd的相关的知识。虽然这个实验还存在着许多缺陷比如判断是否已存在联系人等其他方面还未完善,但是我会继续对这个小实验进行改进的。4 . 教师评语:
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!