⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formachines.java

📁 本书透彻讲解了经典的《设计模式:可复用面向对象软件的基础》一书涵盖的23种基本设计模式。本书将这些设计模式分成五类:接口型模式、责任型模式、构造型模式、操作型模式
💻 JAVA
字号:
package com.oozinoz.robot.interpreter;

import java.util.*;
import com.oozinoz.machine.*;

/*
 * Copyright (c) 2001 Steven J. Metsker.
 * 
 * Steve Metsker makes no representations or warranties about
 * the fitness of this software for any particular purpose, 
 * including the implied warranty of merchantability.
 *
 * Please use this software as you wish with the sole
 * restriction that you may not claim that you wrote it.
 */
/**
 * This class represents a "for" loop that will execute its
 * body for each machine in a context, assigning a provided
 * variable to a different machine in each pass through the 
 * loop.
 * 
 * @author Steven J. Metsker
 */
public class ForMachines extends Command 
{
	protected Variable variable;
	protected Command body;
/**
 * Construct a "for" interpreter that will execute the
 * provided body, looping through the machines in a context,
 * assigning the provided variable to each machine.
 *
 * @param Variable the variable to assign to machines in a
 *                 context
 * @param Command the command to execute in each pass of the
 *                loop
 */
public ForMachines(Variable variable, Command body)
{
	this.variable = variable;
	this.body = body;
}
/**
 * Return true if the provided object equals this one.
 *
 * @return true if the provided object equals this one
 */
public boolean equals(Object o)
{
	if (o == this)
		return true;
	if (!(o instanceof ForMachines))
		return false;
	ForMachines fm = (ForMachines) o;
	return variable.equals(fm.variable)
		&& body.equals(fm.body);
}
/**
 * For each machine in the context, assign this object's
 * variable to the machine, and execute this object's
 * body.
 */
public void execute(Context c)
{
	Iterator i = c.getMachines().iterator();
	while (i.hasNext())
	{
		Machine m = (Machine) i.next();
		c.assign(variable, m);
		body.execute(c);
	}
}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -