java设计模式实验报告

2026/4/27 19:04:58

interface Command { }

//请求接收者

class BoardScreen { }

//具体命令

class OpenCommand implements Command { }

//具体命令

class CreateCommand implements Command {

private BoardScreen myBoardScreen;

public CreateCommand(BoardScreen myBoardScreen) {

this.myBoardScreen=myBoardScreen; private BoardScreen myBoardScreen;

public OpenCommand(BoardScreen myBoardScreen) { }

public void execute() { }

myBoardScreen.open();

this.myBoardScreen=myBoardScreen; public void open() {

System.out.println(\!\); }

public void create() {

System.out.println(\!\); }

public void edit() {

System.out.println(\!\); }

void execute();

17

}

}

public void execute() { }

myBoardScreen.create();

//具体命令

class EditCommand implements Command { }

//客户端

public class MenueCommandClient {

public static void main(String a[]) { }

menu.getMenuItemByName(\).click();

menu.getMenuItemByName(\).click();

System.out.println(\); BoardScreen screen=new BoardScreen(); Menu menu=new Menu();

MenuItem itemOpen=new MenuItem(\,new OpenCommand(screen)); MenuItem itemCreate=new MenuItem(\,new

MenuItem itemEdit=new MenuItem(\,new EditCommand(screen)); menu.addMenuItem(itemOpen); menu.addMenuItem(itemCreate); menu.addMenuItem(itemEdit);

menu.getMenuItemByName(\).click();

System.out.println(\); private BoardScreen myBoardScreen;

public EditCommand(BoardScreen myBoardScreen) { }

public void execute() { }

myBoardScreen.edit();

this.myBoardScreen=myBoardScreen;

CreateCommand(screen));

18

}

运行结果:

(6) 迭代器模式

某商品管理系统的商品名称存储在一个字符串数组中,现需要自定义一个双向迭代器(MyIterator)实现对该商品名称数组的双向(前向和后向)遍历。绘制类图并编程实现(设计方案必须符合DIP)。

MyIteratorMyCollection+createIterator (): MyIterator+++++++++first ()last ()hasNext ()hasPrevious ()next ()previous ()isFirst ()isLast ()getCurrentItem (): void: void: boolean: boolean: void: void: boolean: boolean: ObjectNewCollection-obj: Object[]+<>createIterator (): MyIteratorNewIteratorNewIterator-currentIndex: int+++++++++<><><><><><><><><>first ()last ()hasNext ()hasPrevious ()next ()previous ()isFirst ()isLast ()getCurrentItem (): void: void: boolean: boolean: void: void: boolean: boolean: Object

package IteratorPattern;

interface MyCollection {

19

}

MyIterator createIterator();

//双向迭代器

interface MyIterator { }

class NewCollection implements MyCollection {

private Object[] obj={\,\,\,\,\};

//实现接口MyCollection的创建迭代器的方法 public MyIterator createIterator() {

return new NewIterator(); }

//内部类迭代器

private class NewIterator implements MyIterator {

private int currentIndex=0;

public void first() {

currentIndex=0; }

public void last() {

}

public void next() {

if(currentIndex

void first(); void last(); void next(); void previous(); boolean hasNext(); boolean hasPrevious(); boolean isFirst(); boolean isLast(); Object currentItem();

20


java设计模式实验报告.doc 将本文的Word文档下载到电脑
搜索更多关于: java设计模式实验报告 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219