设计模式十四Word格式.docx

上传人:b****5 文档编号:21274252 上传时间:2023-01-29 格式:DOCX 页数:15 大小:176.54KB
下载 相关 举报
设计模式十四Word格式.docx_第1页
第1页 / 共15页
设计模式十四Word格式.docx_第2页
第2页 / 共15页
设计模式十四Word格式.docx_第3页
第3页 / 共15页
设计模式十四Word格式.docx_第4页
第4页 / 共15页
设计模式十四Word格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

设计模式十四Word格式.docx

《设计模式十四Word格式.docx》由会员分享,可在线阅读,更多相关《设计模式十四Word格式.docx(15页珍藏版)》请在冰豆网上搜索。

设计模式十四Word格式.docx

publicvoidcatlooks(){

System.out.println("

Iamarealcat,Ihavearealcatlooks."

);

}

publicvoidzhuoshu(){

Iamarealcat,Ihavecancatchamouse."

}

ArealDog.java

publicclassArealDogimplementsDog{

publicvoiddoglooks(){

Iamarealdog,Ihavearealdoglooks."

publicvoidbark(){

Iamarealdog,Ihavebark."

Cat.java

publicinterfaceCat{

publicvoidcatlooks();

publicvoidzhuoshu();

CDAdapter.java

publicclassCDAdapterimplementsCat,Dog{

Catcat=null;

publicCDAdapter(Catcat){

this.cat=cat;

Iamadog,too."

cat.zhuoshu();

Dogdog=null;

publicCDAdapter(Dogdog){

this.dog=dog;

Iamacat,too"

dog.bark();

Dog.java

publicinterfaceDog{

publicvoiddoglooks();

publicvoidbark();

Client.java

publicclassClient{

publicstaticvoidmain(String[]args){

CatAFakeCat=newCDAdapter(newArealDog());

AFakeCat.catlooks();

AFakeCat.zhuoshu();

DogAFakeDog=newCDAdapter(newArealCat());

AFakeDog.doglooks();

AFakeDog.bark();

UML.java

实验结果:

Logger.java

package设计模式实验十四周_2;

publicclassLogger{

protectedLanguagelanguage;

protectedOperationSystemoperationSystem;

publicLanguagegetLanguage(){

returnlanguage;

publicOperationSystemgetOperationSystem(){

returnoperationSystem;

publicvoidsetLanguage(Languagelanguage){

this.language=language;

publicvoidsetOperationSystem(OperationSystemoperationSystem){

this.operationSystem=operationSystem;

publicvoidoutput(){

输出Logger."

Consolelog.java

publicclassConsolelogextendsLogger{

用"

+operationSystem.Output()+"

操作系统,"

+language.Output()+"

编写,输出Consolelog."

Filelog.java

publicclassFilelogextendsLogger{

编写,输出Filelog."

XMLlog.java

publicclassXMLlogextendsLogger{

编写,输出XMLlog."

OperationSystem.java

publicabstractclassOperationSystem{

publicabstractStringOutput();

Linux.java

publicclassLinuxextendsOperationSystem{

publicStringOutput(){

return"

Linux"

;

Unix.java

publicclassUnixextendsOperationSystem{

Unix"

Windows.java

publicclassWindowsextendsOperationSystem{

Windows"

Language.java

publicabstractclassLanguage{

Cyuyan.java

publicclassCyuyanextendsLanguage{

C语言"

Pascal.java

publicclassPascalextendsLanguage{

Pascal"

 

Java.java

publicclassJavaextendsLanguage{

Java"

Cyuyancyuyan=newCyuyan();

Javajava=newJava();

Pascalpascal=newPascal();

Linuxlinux=newLinux();

Windowswindows=newWindows();

Unixunix=newUnix();

Consolelogconsolelog=newConsolelog();

consolelog.setLanguage(cyuyan);

consolelog.setOperationSystem(linux);

consolelog.output();

Filelogfilelog=newFilelog();

filelog.setLanguage(java);

filelog.setOperationSystem(windows);

filelog.output();

XMLlogxmllog=newXMLlog();

xmllog.setLanguage(pascal);

xmllog.setOperationSystem(unix);

xmllog.output();

AntiVirus.java

package设计模式实验十四周_3;

publicabstractclassAntiVirus{

publicabstractvoidscan();

ImageFile.java

publicclassImageFileextendsAntiVirus{

publicvoidscan(){

扫描图片文件"

TextFile.java

publicclassTextFileextendsAntiVirus{

扫描文本文件"

VideoFile.java

publicclassVideoFileextendsAntiVirus{

扫描视频文件"

Folder.java

importjava.util.*;

publicclassFolderextendsAntiVirus{

privateArrayListlist=newArrayList();

publicvoidadd(AntiViruselement){

list.add(element);

publicvoidremove(AntiViruselement){

list.remove(element);

for(Objectobject:

list){

((AntiVirus)object).scan();

}

publicstaticvoidmain(Stringa[]){

AntiVirusobj1,obj2,obj3,obj4,obj5;

Folderfolder1,folder2,folder3;

obj1=newImageFile();

obj2=newTextFile();

folder1=newFolder();

folder1.add(obj1);

folder1.add(obj2);

obj3=newVideoFile();

obj4=newVideoFile();

folder2=newFolder();

folder2.add(obj3);

folder2.add(obj4);

obj5=newImageFile();

folder3=newFolder();

folder3.add(folder1);

folder3.add(folder2);

folder3.add(obj5);

folder3.scan();

Book.java

package设计模式实验十四周_4;

publicinterfaceBook{

publicvoidborrowBook();

publicvoidreturnBook();

Ibook.java

publicclassIbookimplementsBook{

publicvoidborrowBook(){

借书!

"

publicvoidreturnBook(){

还书!

Changer.java

publicclassChangerimplementsBook{

privateBookbook;

publicChanger(Bookbook){

this.book=book;

book.borrowBook();

book.returnBook();

LoseBook.java

publicclassLoseBookextendsChanger{

publicLoseBook(Bookbook){

super(book);

publicvoidlose(){

这本书已经遗失"

FreezeBook.java

publicclassFreezeBookextendsChanger{

publicFreezeBook(Bookbook){

publicvoidfreeze(){

这本书已经被冻结"

Ibookibook=newIbook();

ibook.borrowBook();

ibook.returnBook();

-------------------------"

FreezeBookfreezebook=newFreezeBook(ibook);

freezebook.borrowBook();

freezebook.returnBook();

freezebook.freeze();

LoseBooklosebook=newLoseBook(ibook);

losebook.borrowBook();

losebook.returnBook();

losebook.lose();

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

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1