第8次实验--组合模式、代理模式实验.doc

上传人:新** 文档编号:557978216 上传时间:2024-01-01 格式:DOC 页数:8 大小:171.79KB
返回 下载 相关 举报
第8次实验--组合模式、代理模式实验.doc_第1页
第1页 / 共8页
第8次实验--组合模式、代理模式实验.doc_第2页
第2页 / 共8页
第8次实验--组合模式、代理模式实验.doc_第3页
第3页 / 共8页
第8次实验--组合模式、代理模式实验.doc_第4页
第4页 / 共8页
第8次实验--组合模式、代理模式实验.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《第8次实验--组合模式、代理模式实验.doc》由会员分享,可在线阅读,更多相关《第8次实验--组合模式、代理模式实验.doc(8页珍藏版)》请在金锄头文库上搜索。

1、实验8组合模式、代理模式实验学号:123012012137姓名:张超红实验目的:加深对组合模式、代理模式原理的理解实验环境:C#.Net/VC+.Net或MyEclipse(Java)等实验内容(一):使用组合模式设计一个杀毒软件框架,该软件既可以对一个文件夹杀毒,也可以对一个文件杀毒,文件种类包括文本文件、图片文件、视频文件。绘制类图并编程实现。实验过程: 、构建实现场景,画出UML类图 、实现代码,见演示源码public abstract class AntiVirus public void killVirus() import java.util.ArrayList;public cl

2、ass Folder extends AntiVirus private ArrayList fileList= new ArrayList();public void folder(AntiVirus fileName)fileList.add(fileName);public void killVirus()for(Object object:fileList)System.out.println(object.getClass().getName();(AntiVirus)object).killVirus(); public class ImageFile extends AntiVi

3、rus public void killVirus()System.out.println(ImageFile杀毒中); public class TextFile extends AntiVirus public void killVirus()System.out.println(TextFile杀毒中); public class VideoFile extends AntiVirus public void killVirus()System.out.println(VideoFile杀毒中); public class Client /* * param args */public

4、static void main(String args) AntiVirus file1,file2,file3,file4,file5,file6;Folder floder1,floder2,floder3;file1=new ImageFile();file2=new TextFile();file3=new VideoFile();floder1 =new Folder();floder1.folder(file1);floder1.folder(file2);floder1.folder(file3);file4=new ImageFile();file5=new TextFile

5、();file6=new VideoFile();floder2=new Folder();floder2.folder(file1);floder2.folder(file2);floder2.folder(file3);floder3=new Folder();floder3.folder(floder1);floder3.folder(floder2);floder3.killVirus(); 实验内容(二):某信息咨询公司推出收费的在线商业信息查询模块,需要对查询用户进行身份验证,并记录查询日志,以便根据查询次数收取查询费用,现使用代理模式设计该系统。实验过程: 构建实现场景,画出UM

6、L类图 实现代码package agent;/* * * author 张超红 * */public class User public User() / TODO 自动生成的构造函数存根private String userName;private String password;/是否被允许private boolean isPermission;/查询次数 Integer selectCount;/查询费用private double selectOffFees;public String getUserName() return userName;public void setUser

7、Name(String userName) this.userName = userName;public String getPassword() return password;public void setPassword(String password) this.password = password;public boolean isPermission() return isPermission;public void setPermission(boolean isPermission) this.isPermission = isPermission;public Integ

8、er getSelectCount() return selectCount;public void setSelectCount(Integer selectCount) this.selectCount = selectCount;public double getSelectOffFees() return selectOffFees;public void setSelectOffFees(double selectOffFees) this.selectOffFees = selectOffFees;package agent;/* * * author 张超红 * */public

9、 class PermissionProxy implements AbstractCompony private User user;private RealCompony permission=new RealCompony();public PermissionProxy() / TODO 自动生成的构造函数存根/* (非 Javadoc) * see agent.AbstractCompony#selectInfor() */Overridepublic void selectInfor() / TODO 自动生成的方法存根if(user.isPermission()if(user.g

10、etSelectCount()0)permission.selectInfor();user.selectCount-;if(user.selectCount=0)user.setPermission(false);System.out.println(您查询次数已经到达上限,请缴费.);elseSystem.out.println(要在本系统中查询商业信息请先注册登录.);public User construct()return new User();package agent;/* * * author 张超红 * */public interface AbstractCompony /

11、查询用户信息public void selectInfor();package agent;public class RealCompony implements AbstractCompony public RealCompony() / TODO 自动生成的构造函数存根/* (非 Javadoc) * see agent.AbstractCompony#selectInfor() */Overridepublic void selectInfor() / TODO 自动生成的方法存根System.out.println(用户正在查询商业信息.);package agent;/* * * author 张超红 * */public class Client public Client() / TODO 自动生成的构造函数存根public static void main(String args) RealCompony permission=new RealCompony();PermissionProxy per=new PermissionProxy();User user=new User();user.setSelectCount(2);user.setPermission(true);permission.selectInfor();实验讨论(效果分析):

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号