当前位置: 首页 > news >正文

高校网站建设规范合肥关键词排名工具

高校网站建设规范,合肥关键词排名工具,wordpress4.9 多站点,成都到西安火车时刻表查询摘要 组合模式(composite pattern): 允许你将对象组合成树形结构来表现"整体/部分"层次结构. 组合能让客户以一致的方式处理个别对象以及对象组合。 一、组合模式的意图 将对象组合成树形结构来表示“整体/部分”层次关系,允许用户以相同的方式处理单独…

摘要

组合模式(composite pattern): 允许你将对象组合成树形结构来表现"整体/部分"层次结构. 组合能让客户以一致的方式处理个别对象以及对象组合。

一、组合模式的意图

将对象组合成树形结构来表示“整体/部分”层次关系,允许用户以相同的方式处理单独对象和组合对象。

二、组合模式的类图

组件(Component)类是组合类(Composite)和叶子类(Leaf)的父类,可以把组合类看成是树的中间节点。组合对象拥有一个或者多个组件对象,因此组合对象的操作可以委托给组件对象去处理,而组件对象可以是另一个组合对象或者叶子对象。

三、组合模式的实现

public abstract class Component {protected String name;public Component(String name) {this.name = name;}public void print() {print(0);}abstract void print(int level);abstract public void add(Component component);abstract public void remove(Component component);
}
public class Composite extends Component {private List<Component> child;public Composite(String name) {super(name);child = new ArrayList<>();}@Overridevoid print(int level) {for (int i = 0; i < level; i++) {System.out.print("--");}System.out.println("Composite:" + name);for (Component component : child) {component.print(level + 1);}}@Overridepublic void add(Component component) {child.add(component);}@Overridepublic void remove(Component component) {child.remove(component);}
}
public class Leaf extends Component {public Leaf(String name) {super(name);}@Overridevoid print(int level) {for (int i = 0; i < level; i++) {System.out.print("--");}System.out.println("left:" + name);}@Overridepublic void add(Component component) {throw new UnsupportedOperationException(); // 牺牲透明性换取单一职责原则,这样就不用考虑是叶子节点还是组合节点}@Overridepublic void remove(Component component) {throw new UnsupportedOperationException();}
}
public class Client {public static void main(String[] args) {Composite root = new Composite("root");Component node1 = new Leaf("1");Component node2 = new Composite("2");Component node3 = new Leaf("3");root.add(node1);root.add(node2);root.add(node3);Component node21 = new Leaf("21");Component node22 = new Composite("22");node2.add(node21);node2.add(node22);Component node221 = new Leaf("221");node22.add(node221);root.print();}
}

四、组合模式的总结

组合模式源码使用

  • javax.swing.JComponent#add(Component)
  • java.awt.Container#add(Component)
  • java.util.Map#putAll(Map)
  • java.util.List#addAll(Collection)
  • java.util.Set#addAll(Collection)

博文参考

http://www.khdw.cn/news/15165.html

相关文章:

  • 飓风 网站建设竞价排名的定义
  • 新泰网站制作实训百度搜索引擎的总结
  • 网页设计与制作教程机械工业出版社优化大师平台
  • 广州外贸网站建设开发网络营销的推广方法
  • wordpress的robots文件搜索引擎优化的主要工作有
  • 在网站上做网络课堂软件多少钱游戏合作渠道
  • 用微魔方做的网站一定要加360优化大师官方免费下载
  • 临沂网站建设模板seo优化好做吗
  • 网站建设好与管理在哪就业引擎优化搜索
  • 福建省龙岩市建设培训中心网站百度电话查询
  • 沈阳网站提升排名广州优化seo
  • 微信公众平台绑定网站seo网课培训
  • dede网站后台模板南昌seo计费管理
  • wordpress解压后怎么安装seo网站营销公司哪家好
  • 织梦网站怎么做seo广州顶正餐饮培训学校
  • 景安网站上传完还要怎么做百度热搜榜今日头条排名
  • 网站开发与设计培训郑州模板网站建设
  • 做网站的程序员工资大约月薪外链价格
  • 哪些公司用.cc做网站谷歌排名优化
  • 多平台网站建设网络运营推广是做什么的
  • 开游戏工作室被公安查了湖南seo
  • wordpress编辑器可视化调用谷歌seo优化公司
  • wordpress页面添加标签长春百度seo排名
  • 做网站能接到模具单吗中国疫情最新数据
  • 网站建设在线推广seo计费系统开发
  • 沈阳做网站有名公司快速排名怎么做
  • 简易手机app制作教程seo内部优化方案
  • 制作网站公司价格seo优化排名方法
  • h5网站制作平台有哪些网站模板之家
  • 网站可以做被告嘛惠州搜索引擎seo