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

博兴专业做网站山西网络科技有限公司

博兴专业做网站,山西网络科技有限公司,北京南站地图,英文网站seo 谷歌类型#xff1a;结构型模式 特点#xff1a;依据树形结构来组合对象#xff0c;用来表示部分以及整体层次 作用#xff1a;模糊了简单元素和复杂元素的概念#xff0c;客户程序可以像处理简单元素一样来处理复杂元素#xff0c;从而使得客户程序与复杂元素的内部结构解…类型结构型模式 特点依据树形结构来组合对象用来表示部分以及整体层次 作用模糊了简单元素和复杂元素的概念客户程序可以像处理简单元素一样来处理复杂元素从而使得客户程序与复杂元素的内部结构解耦使用户对单个对象和组合对象的使用具有一致性。 何时使用忽略组合对象与单个对象的不同统一地使用组合结构中的所有对象。 实现原理树枝和叶子实现统一接口树枝内部组合该接口。 关键代码在树枝内部组合该接口并且含有内部属性 List里面放 Component。 应用实例菜单和菜单项 优点 1、高层模块调用快捷 2、节点增加方便 缺点叶子和树枝的声明都是实现类而不是接口违反了依赖倒置原则。 使用场景部分、整体场景 实现 步骤 1创建 Employee 类该类带有 Employee 对象的列表。Employee.javaimport java.util.ArrayList;import java.util.List;public class Employee {private String name;private String dept;private int salary;private ListEmployee subordinates;//构造函数public Employee(String name,String dept, int sal) {this.name name;this.dept dept;this.salary sal;subordinates new ArrayListEmployee();}public void add(Employee e) {subordinates.add(e);}public void remove(Employee e) {subordinates.remove(e);}public ListEmployee getSubordinates(){return subordinates;}public String toString(){return (Employee :[ Name : name, dept : dept , salary : salary ]);} } 步骤 2使用 Employee 类来创建和打印员工的层次结构。CompositePatternDemo.java public class CompositePatternDemo {public static void main(String[] args) {Employee CEO new Employee(John,CEO, 30000);Employee headSales new Employee(Robert,Head Sales, 20000);Employee headMarketing new Employee(Michel,Head Marketing, 20000);Employee clerk1 new Employee(Laura,Marketing, 10000);Employee clerk2 new Employee(Bob,Marketing, 10000);Employee salesExecutive1 new Employee(Richard,Sales, 10000);Employee salesExecutive2 new Employee(Rob,Sales, 10000);CEO.add(headSales);CEO.add(headMarketing);headSales.add(salesExecutive1);headSales.add(salesExecutive2);headMarketing.add(clerk1);headMarketing.add(clerk2);//打印该组织的所有员工System.out.println(CEO);for (Employee headEmployee : CEO.getSubordinates()) {System.out.println(headEmployee);for (Employee employee : headEmployee.getSubordinates()) {System.out.println(employee);}}} } 步骤 3执行程序输出结果为Employee :[ Name : John, dept : CEO, salary :30000 ]Employee :[ Name : Robert, dept : Head Sales, salary :20000 ]Employee :[ Name : Richard, dept : Sales, salary :10000 ]Employee :[ Name : Rob, dept : Sales, salary :10000 ]Employee :[ Name : Michel, dept : Head Marketing, salary :20000 ]Employee :[ Name : Laura, dept : Marketing, salary :10000 ]Employee :[ Name : Bob, dept : Marketing, salary :10000 ] 这段代码实现了组合模式。首先创建了一个Employee类该类具有姓名(name)、部门(dept)和薪水(salary)属性以及一个包含子员工的列表(subordinates)。该类还定义了添加(add)和删除(remove)子员工的方法以及获取子员工列表(getSubordinates)的方法。然后在CompositePatternDemo类中创建了一个员工层次结构。CEO是最高级别的员工下面有两个部门负责人(headSales和headMarketing)。每个部门负责人下面又可以有多个员工。通过调用add方法将员工添加到相应的上级员工中。最后在主函数中打印了整个组织的员工层次结构。首先打印CEO的信息然后遍历CEO的子员工列表逐级打印部门负责人和他们的下属员工的信息。执行程序后输出了整个组织的员工层次结构包括每个员工的姓名、部门和薪水信息。这个例子展示了组合模式的应用通过使用组合模式可以方便地管理和操作具有层次结构的对象。
http://www.zqtcl.cn/news/831700/

相关文章:

  • 做产品设计之前怎么查资料国外网站怀化政法网站
  • 微信商城与网站一体深圳it外包服务公司
  • 北京建网站 优帮云建筑考试培训网
  • 深圳市网站哪家做的好巴彦淖尔网站制作开发
  • 搭建网站的步骤有哪些产品推广活动策划方案
  • 哪些网站是用c语言做的html网页wordpress
  • 宁波专业的网站建设网站打开速度慢是否需要升级带宽
  • 长春地区网站建设网站内页跳转wap
  • 瑞安做网站100个万能网站
  • 做网站的哪家好天津企朋做网站的公司
  • 不花钱怎么做网站运营定州网页设计
  • 公司注销后网站备案大型网站建设用什么系统好
  • 网站建设服务公司专业服务海外留学网站建设方案
  • 哈尔滨建站模板搭建马鞍山市网站建设
  • 上海网站设计专注乐云seo个人简介代码网页制作模板
  • 法律网站建设价格做视频周边的网站
  • 京东物流网站地方门户网站源码下载
  • 重庆建设工程信息网站企业宣传片制作公司光年映画
  • 哪家做网站好 成都ktv网络推广方案
  • 网站开发的软件支持哈尔滨最新消息
  • jsp淘宝客网站有限公司怎么注册
  • 香奈儿电子商务网站建设策划书怎样进行网络营销吸引顾客
  • 昆山网站建设费用我们公司想做网络推广
  • 网站建设一般要多少钱网站开发主要步骤
  • 商用图片的网站网络文化经营许可证查询
  • c 高性能网站开发弄一个公司网站需要多少钱
  • 建设部网站招标投标文件网页设计专业公司
  • 使用iis6搭建网站wordpress调用搜索功能
  • 装配式建筑网站生活家装饰
  • 怎样做软件网站建设百度网站认证官网