組合模式


(1) 核心實現代碼

    接口類

public interface ComputerPart {

    public abstract int getPrice();    

}

ComputerPart 類是接口類,帶有getPrice()的方法。

 

 

 

 

組合數據類

 

public class Composite implements ComputerPart{

    static ArrayList<ComputerPart> list = null;

    public Composite()

    {

        list = new ArrayList();

    }

    public static void add(ComputerPart part)

    {

        if(part!=null)

            list.add(part);

    }

    public static void delete(ComputerPart part)

    {

        if(part!=null)

            list.remove(part);

    }

    @Override

    public int getPrice() {

        int sum = 0;

        for(int i = 0 ; i<list.size() ; i++)

        {

            sum += list.get(i).getPrice();

        }

        return sum;

    } 

}

Composite 類是組合數據類,除了包含抽象類ComputePart類的接口getPrice(),還有add(),delete()等對組合數據ArrayList的操作。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章