文档详情

肖正文命令模式.doc

发布:2017-08-07约1.21万字共26页下载文档
文本预览下载声明
云南大学软件学院 实 验 报 告 姓名:肖正文 学号:20121120141专业:工程2014/12/22 成绩: 实验四 命令模式的运用 一、实验目的: 命令模式将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象,命令模式也支持可撤销的操作。在熟悉命令模式相关理论知识的基础上,使用命令模式实现图片处理程序。 二、实验要求: 使用命令模式实现图片处理程序,要求如下: 图片处理程序要有3张图片。 每张图片至少有3种操作。 实现类似遥控器的菜单,动态的选择对图片进行的处理。 要有“撤消操作”,撤消操作要可以撤销至最后一步。 设计并绘制该程序的类图; 依照设计的类图使用Java语言编写代码,并实现该程序; 除了核心的模式相关类实现外,提供测试环境,按照难度高低,分别是: 控制台程序,Client硬编码初始化模式和测试环境,运行结果文本输出; 控制台程序,Client初始化测试环境,并根据用户输入运算,运行结果文本输出; 设计并实现用户UI,Client初始化测试环境,并根据用户在UI控件上的输入运算,运行结果文本输出; 三、实验内容: 1体系结构 2 命令 package xiao.it.Commend; /** * 命令接口 * @author Administrator * */ public interface Command { public String execute(); } 张图片的控制命令 package xiao.it.ConcreteCommend1; import xiao.it.Commend.Command; import xiao.it.Picture.Picture1; public class CutCommand implements Command { Picture1 p1=null; public CutCommand(Picture1 p){ this.p1=p; } @Override public String execute() { // TODO Auto-generated method stub return p1.cut(); } } 2旋转 package xiao.it.ConcreteCommend1; import xiao.it.Commend.Command; import xiao.it.Picture.Picture1; /** * 对图像1进行旋转 * @author Administrator * */ public class RotaCommand implements Command { Picture1 p1=null; public RotaCommand(Picture1 p){ this.p1=p; } @Override public String execute() { // TODO Auto-generated method stub return p1.rota(); } } 3平移 package xiao.it.ConcreteCommend1; import xiao.it.Commend.Command; import xiao.it.Picture.Picture1; public class TransCommand implements Command{ Picture1 p1=null; public TransCommand(Picture1 p){ this.p1=p; } @Override public String execute() { // TODO Auto-generated method stub return p1.trans(); } } 图片具体 1放大 package xiao.it.ConcreteCommend2; import xiao.it.Commend.Command; import xiao.it.Picture.Picture1; import xiao.it.Picture.Picture2; /** * 对图片2进行放大 * @author Administrator * */ public class FangdaCommand implements Command { Picture2 p2=null; public FangdaCommand(Picture2 p){ this.p2=p; } @Override public String e
显示全部
相似文档