composite.java
来自「java与模式 一书的源码」· Java 代码 · 共 43 行
JAVA
43 行
package com.javapatterns.visitor.inventory;
import java.util.Vector;
abstract class Composite extends Equipment
{
/**
* @directed
* @link aggregation
* @clientCardinality 1
*/
private Vector parts = new Vector(10);
public Composite()
{
}
public void add(Equipment equip)
{
parts.add(equip);
}
public double price()
{
double total=0;
for (int i=0; i < parts.size(); i++)
{
total += ((Equipment) parts.get(i)).price();
}
return total;
}
public void accept(Visitor v)
{
for (int i=0; i < parts.size(); i++)
{
((Equipment) parts.get(i)).accept(v);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?