(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的操作。 |