组合模式
来源:互联网 发布:会声会影软件多少钱 编辑:程序博客网 时间:2024/05/14 03:49
作用:用面向对象模式,处理树结构。
将多个对象,组合成树。 用户用 单个子节点,就和使用树一样。有一致性。
你在总部办的会员卡,可以在分店使用。
需求,部分与整体层级明显。但是用户可以忽略这个 等级制度。都可以去使用。 就可以使用组合模式。
总部:
public abstract class Market{ private String name; public abstract void add(Market m); public abstract void remove(Market m); public abstract void payByCard();}
总部旗下的加盟店:
public class BranchMarket extends Market{ List<Market> list = new ArrayList<Market>(); public BranchMarket(String name){ this.name = name; } public void add(Market m){ list.add(m); } public void remove(Market m){ list.remove(m); } public void payByCard(){ System.out.println("您在"+name+"消费,已记账"); for(Market m:list){m.payCard();} //分店积分累积增加。 }}//加盟店下的分店
public class MarketJoin extends Market{ public MarketJoin(String name){ this.name = name; } public void add(Market m){} public void remove(Market m){} public void payByCard(){ System.out.println("您在"+name+"消费,已记账"); }}
客户端使用:
main(){ BranchMarket root = new MarketBranch("总店"); BranchMarket shroot = new MarketBranch("上海总店"); MarketJoin join1 = new MarketJoin("分店1"); MarketJoin join2 = new MarketJoin("分店2"); shroot.add(join1); shroot.add(join2); root.add(shroot); root.payCard();}
不管你是在总部刷卡,还是分部刷卡,都可以有效累积积分。
不用关系是子节点,还是叶子节点。
不管是哪一个节点。你去访问都是可以的。
0 0
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 组合模式
- 2016Android某公司面试题
- tensorflow入门4 windows环境下安装tf
- 队列
- Mysql 分页语句Limit用法
- Autolayout 基础
- 组合模式
- varchar nvarchar
- win10 无法在设置中修改默认浏览器问题的解决方案
- XMPPFramework---登录篇
- gnocchi配置文件
- 一组图表告诉你,AWS为什么刚刚启动了K8S 容器项目
- Elasticsearch集群搭建
- 抽象 与 封装 区别
- java获取获得Timestamp类型的当前系统时间