欢迎来到天天文库
浏览记录
ID:11173452
大小:171.78 KB
页数:8页
时间:2018-07-10
《第8次实验--组合模式、代理模式实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验8—组合模式、代理模式实验学号:123012012137姓名:张超红实验目的:加深对组合模式、代理模式原理的理解实验环境:C#.Net/VC++.Net或MyEclipse(Java)等实验内容(一):使用组合模式设计一个杀毒软件框架,该软件既可以对一个文件夹杀毒,也可以对一个文件杀毒,文件种类包括文本文件、图片文件、视频文件。绘制类图并编程实现。⑴实验过程:①、构建实现场景,画出UML类图②、实现代码,见演示源码publicabstractclassAntiVirus{publicvoidkillVirus(){}}import
2、java.util.ArrayList;publicclassFolderextendsAntiVirus{privateArrayListfileList=newArrayList();publicvoidfolder(AntiVirusfileName){fileList.add(fileName);}publicvoidkillVirus(){for(Objectobject:fileList){System.out.println(object.getClass().getName());((AntiVirus)object)
3、.killVirus();}}}publicclassImageFileextendsAntiVirus{publicvoidkillVirus(){System.out.println("ImageFile杀毒中");}}publicclassTextFileextendsAntiVirus{publicvoidkillVirus(){System.out.println("TextFile杀毒中");}}publicclassVideoFileextendsAntiVirus{publicvoidkillVirus(){Syste
4、m.out.println("VideoFile杀毒中");}}publicclassClient{/***@paramargs*/publicstaticvoidmain(String[]args){AntiVirusfile1,file2,file3,file4,file5,file6;Folderfloder1,floder2,floder3;file1=newImageFile();file2=newTextFile();file3=newVideoFile();floder1=newFolder();floder1.fold
5、er(file1);floder1.folder(file2);floder1.folder(file3);file4=newImageFile();file5=newTextFile();file6=newVideoFile();floder2=newFolder();floder2.folder(file1);floder2.folder(file2);floder2.folder(file3);floder3=newFolder();floder3.folder(floder1);floder3.folder(floder2);
6、floder3.killVirus();}}实验内容(二):某信息咨询公司推出收费的在线商业信息查询模块,需要对查询用户进行身份验证,并记录查询日志,以便根据查询次数收取查询费用,现使用代理模式设计该系统。⑴实验过程:①构建实现场景,画出UML类图②实现代码packageagent;/****@author张超红**/publicclassUser{publicUser(){//TODO自动生成的构造函数存根}privateStringuserName;privateStringpassword;//是否被允许privateboole
7、anisPermission;//查询次数IntegerselectCount;//查询费用privatedoubleselectOffFees;publicStringgetUserName(){returnuserName;}publicvoidsetUserName(StringuserName){this.userName=userName;}publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringpassword){this.password
8、=password;}publicbooleanisPermission(){returnisPermission;}publicvoidsetPermission(booleanisPermission){this.i
此文档下载收益归作者所有