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

九江网站建设优化乾安网站建设公司电话

九江网站建设优化,乾安网站建设公司电话,新乡 网站开发,摄影设计说明怎么写摘要 组合模式(composite pattern): 允许你将对象组合成树形结构来表现整体/部分层次结构. 组合能让客户以一致的方式处理个别对象以及对象组合。 一、组合模式的意图 将对象组合成树形结构来表示“整体/部分”层次关系#xff0c;允许用户以相同的方式处理单独…摘要 组合模式(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 ListComponent 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.yutouwan.com/news/463124/

相关文章:

  • 奉化网站建设怎么样学广告设计好就业吗
  • 如何注册网站免费的全部浏览器下载大全
  • 有哪个网站能卖自己做的衣服重庆有哪些大型互联网公司
  • 网站建设需求范文石家庄菜谱设计公司
  • 三语网站建设wordpress 图片读取
  • 做网站的收获及感想定安网站建设
  • 未来软件网站建设网站开发常用png
  • 网站图片被盗连怎么办啊黔西南网站建设
  • 专业做股权众筹的网站wordpress电影自动采集主题
  • 单页营销型网站建设风向标网站建设
  • 网站做微信支付宝支付网站建设服务合同交印花税
  • 海安网站开发沈阳seo建站
  • 寻找手机网站建设响应式网站生成
  • 国外公共空间设计网站福清哪有做网站的地方
  • 徐州网站开发案例wordpress 导入 媒体
  • 中山快速做网站服务erp系统的功能包括哪些
  • 中国协会网站建设方案网站怎么发布
  • 关于做展厅的网站个人手机网站
  • 阜宁网站设计鞍山人才招聘网
  • wordpress ucthemeseo站点
  • 网站建设 盈利wordpress模板打包
  • 个人网站备案 照片网建企业
  • 店铺装修设计网站网站seo策略
  • seo优化网站排名怎么查商标注册过没有
  • 那个网站点击率高龙溪营销型网站制作
  • app页面模板简单制作沈阳网络推广优化
  • 母婴网站建设的与功能模块建筑人才网报名平台
  • 国内免费域名注册网站如何自己做网站腾讯
  • 网站收录入口是什么微信公众号怎么做文章推广
  • 杭州做宠物网站的公司在线oa