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 + -
显示快捷键?