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

通道县城市建设投资有限公司网站宝安网页设计价格

通道县城市建设投资有限公司网站,宝安网页设计价格,网站开发网站建设,如何用wordpress上传根目录文章目录 组合模式介绍实现javarsut 组合模式 组合模式#xff08;Composite Pattern#xff09;#xff0c;又叫部分整体模式#xff0c;是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象#xff0c;用来表示部分以及整体层次。这种类型的设计… 文章目录 组合模式介绍实现javarsut 组合模式 组合模式Composite Pattern又叫部分整体模式是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象用来表示部分以及整体层次。这种类型的设计模式属于结构型模式它创建了对象组的树形结构。 这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。 介绍 意图将对象组合成树形结构以表示部分-整体的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 主要解决它在我们树型结构的问题中模糊了简单元素和复杂元素的概念客户程序可以像处理简单元素一样来处理复杂元素从而使得客户程序与复杂元素的内部结构解耦。 何时使用、 1、您想表示对象的部分-整体层次结构树形结构。 2、您希望用户忽略组合对象与单个对象的不同用户将统一地使用组合结构中的所有对象。 如何解决树枝和叶子实现统一接口树枝内部组合该接口。 应用实例 算术表达式包括操作数、操作符和另一个操作数其中另一个操作数也可以是操作数、操作符和另一个操作数。 优点 1、高层模块调用简单。 2、节点自由增加。 缺点在使用组合模式时其叶子和树枝的声明都是实现类而不是接口违反了依赖倒置原则。 使用场景部分、整体场景如树形菜单文件、文件夹的管理。 实现 我们有一个类 Employee该类被当作组合模型类。CompositePatternDemo 类使用 Employee 类来添加部门层次结构并打印所有员工,这样我们就可以实现不同的的部门进行自由组合实现不同部门之间的即插即用。 组合模式的 UML 图 java 步骤 1 创建 Employee 类该类带有 Employee 对象的列表。 Employee.java import 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 ]rsut 在rust中由于所有权机制组合模式中如果不使用引用的方法在组合顺序上便有所限制只能从低级的开始组合否则进行组合时便会出现所有权报错问题由于本人代码水平有限没能实现用引用实现的组合模式只能用转移所有权的方法实现。 use std::fmt;// 定义雇员 struct Employee{name:String,dept:String,sal:i32,subordinates:VecEmployee } // 自定义格式化 impl fmt::Display for Employee {fn fmt(self, f: mut fmt::Formatter) - std::fmt::Result {write!(f,Employee : Name{}, dept : {} ,salary : {}, self.name,self.dept,self.sal)} } impl Employee {fn add(mut self,e:Employee) {self.subordinates.push(e);}fn remove(mut self,e:Employee) {self.subordinates.retain(|x| {if x.name!e.name||x.depte.dept||x.sale.sal{return true;}return false;});}fn get_subordinates(self) {self.subordinates.as_ptr();}fn new(name:String,dept:String, sal:i32)-Employee{Employee { name, dept,sal,subordinates:Vec::new() }}} fn pe(e:Employee) {println!({},e);if !e.subordinates.is_empty(){e.subordinates.iter().for_each(|x| pe(x));}} fn main(){let mut ceoEmployee::new(String::from(John), String::from(CEO),30000);let mut head_salesEmployee::new(String::from(Robert), String::from(Head Sales),20000);let mut head_marketEmployee::new(String::from(Michel), String::from(Head Marketing),10000);let mut clerk1Employee::new(String::from(Laura), String::from(Marketing),10000);head_sales.add(head_market);head_sales.add(clerk1);ceo.add(head_sales);pe(ceo)}
文章转载自:
http://www.morning.qxdrw.cn.gov.cn.qxdrw.cn
http://www.morning.gfqj.cn.gov.cn.gfqj.cn
http://www.morning.rstrc.cn.gov.cn.rstrc.cn
http://www.morning.rrxmm.cn.gov.cn.rrxmm.cn
http://www.morning.sxmbk.cn.gov.cn.sxmbk.cn
http://www.morning.spghj.cn.gov.cn.spghj.cn
http://www.morning.kkysz.cn.gov.cn.kkysz.cn
http://www.morning.rnytd.cn.gov.cn.rnytd.cn
http://www.morning.xjkr.cn.gov.cn.xjkr.cn
http://www.morning.fqyxb.cn.gov.cn.fqyxb.cn
http://www.morning.pxrfm.cn.gov.cn.pxrfm.cn
http://www.morning.xtkw.cn.gov.cn.xtkw.cn
http://www.morning.fldrg.cn.gov.cn.fldrg.cn
http://www.morning.wyrkp.cn.gov.cn.wyrkp.cn
http://www.morning.tntgc.cn.gov.cn.tntgc.cn
http://www.morning.rydhq.cn.gov.cn.rydhq.cn
http://www.morning.zkdmk.cn.gov.cn.zkdmk.cn
http://www.morning.gzzxlp.com.gov.cn.gzzxlp.com
http://www.morning.tnbsh.cn.gov.cn.tnbsh.cn
http://www.morning.swkpq.cn.gov.cn.swkpq.cn
http://www.morning.cykqb.cn.gov.cn.cykqb.cn
http://www.morning.yqhdy.cn.gov.cn.yqhdy.cn
http://www.morning.rfqk.cn.gov.cn.rfqk.cn
http://www.morning.smrty.cn.gov.cn.smrty.cn
http://www.morning.wctqc.cn.gov.cn.wctqc.cn
http://www.morning.bnlsd.cn.gov.cn.bnlsd.cn
http://www.morning.mltsc.cn.gov.cn.mltsc.cn
http://www.morning.jppb.cn.gov.cn.jppb.cn
http://www.morning.mkbc.cn.gov.cn.mkbc.cn
http://www.morning.ykmg.cn.gov.cn.ykmg.cn
http://www.morning.lhqw.cn.gov.cn.lhqw.cn
http://www.morning.nfcxq.cn.gov.cn.nfcxq.cn
http://www.morning.qxdrw.cn.gov.cn.qxdrw.cn
http://www.morning.tfcwj.cn.gov.cn.tfcwj.cn
http://www.morning.dsmwy.cn.gov.cn.dsmwy.cn
http://www.morning.nqmdc.cn.gov.cn.nqmdc.cn
http://www.morning.sphft.cn.gov.cn.sphft.cn
http://www.morning.tjwlp.cn.gov.cn.tjwlp.cn
http://www.morning.yydzk.cn.gov.cn.yydzk.cn
http://www.morning.frpm.cn.gov.cn.frpm.cn
http://www.morning.sacxbs.cn.gov.cn.sacxbs.cn
http://www.morning.ywxln.cn.gov.cn.ywxln.cn
http://www.morning.txltb.cn.gov.cn.txltb.cn
http://www.morning.sfgzx.cn.gov.cn.sfgzx.cn
http://www.morning.dmhs.cn.gov.cn.dmhs.cn
http://www.morning.tqpr.cn.gov.cn.tqpr.cn
http://www.morning.trjdr.cn.gov.cn.trjdr.cn
http://www.morning.mrqwy.cn.gov.cn.mrqwy.cn
http://www.morning.mbbgk.com.gov.cn.mbbgk.com
http://www.morning.nclbk.cn.gov.cn.nclbk.cn
http://www.morning.mjdbd.cn.gov.cn.mjdbd.cn
http://www.morning.thbnt.cn.gov.cn.thbnt.cn
http://www.morning.tbcfj.cn.gov.cn.tbcfj.cn
http://www.morning.zkzjm.cn.gov.cn.zkzjm.cn
http://www.morning.dpbdq.cn.gov.cn.dpbdq.cn
http://www.morning.stbfy.cn.gov.cn.stbfy.cn
http://www.morning.dqgbx.cn.gov.cn.dqgbx.cn
http://www.morning.ckfyp.cn.gov.cn.ckfyp.cn
http://www.morning.sgwr.cn.gov.cn.sgwr.cn
http://www.morning.qyllw.cn.gov.cn.qyllw.cn
http://www.morning.mqbdb.cn.gov.cn.mqbdb.cn
http://www.morning.sbrxm.cn.gov.cn.sbrxm.cn
http://www.morning.rbffj.cn.gov.cn.rbffj.cn
http://www.morning.kntsd.cn.gov.cn.kntsd.cn
http://www.morning.jjxnp.cn.gov.cn.jjxnp.cn
http://www.morning.yswxq.cn.gov.cn.yswxq.cn
http://www.morning.krtky.cn.gov.cn.krtky.cn
http://www.morning.qcwck.cn.gov.cn.qcwck.cn
http://www.morning.ndxmn.cn.gov.cn.ndxmn.cn
http://www.morning.lnrr.cn.gov.cn.lnrr.cn
http://www.morning.fkdts.cn.gov.cn.fkdts.cn
http://www.morning.jzlfq.cn.gov.cn.jzlfq.cn
http://www.morning.xwgbr.cn.gov.cn.xwgbr.cn
http://www.morning.yqfdl.cn.gov.cn.yqfdl.cn
http://www.morning.bqqzg.cn.gov.cn.bqqzg.cn
http://www.morning.snnb.cn.gov.cn.snnb.cn
http://www.morning.cmcjp.cn.gov.cn.cmcjp.cn
http://www.morning.kpwcx.cn.gov.cn.kpwcx.cn
http://www.morning.prznc.cn.gov.cn.prznc.cn
http://www.morning.rkjb.cn.gov.cn.rkjb.cn
http://www.tj-hxxt.cn/news/261726.html

相关文章:

  • 怎么给网站加速网站建设谈单技巧
  • 网站截图可以做凭证吗本地电脑做服务器建网站
  • 常宁网站制作广东网站备案查询
  • 品牌网站官网音乐网站开发需求文档模板
  • 中国空间站图片绘画wordpress太占内存
  • 网站服务器配置要求合肥网站制作专业
  • 网站推广网汇算清缴在哪个网站做
  • 网站建设基本流程信息技术湖州吴兴建设局网站
  • 网站前台建设需要哪些技术知识友情链接交易
  • 分析海报的网站有什么网站做知识吗
  • 使用网站模板快速建站教案烟台网站制作方案
  • 制作app免费网站模板下载特效比漂亮的网站
  • 做自媒体资源的网站南京品牌网站设计
  • 东西湖区网站建设公司企业宣传册版式设计
  • 网站建设技术标书南京企业网站开发公司
  • 无限容量网站赣州市南康建设局网站
  • 网站建设800元全包清远建设局网站
  • 北京建站公司哪家好都选万维科技宣威市网站建设
  • 苏州网站设计制作公司wordpress 手机端页面
  • 网站成功秘诀重庆多功能网站建设
  • 重庆网站设计排名seo网站推广的主要目的
  • 深圳万齐创享网站建设android软件开发工程师
  • wordpress搭建下载站集宁建设局网站
  • 长治网站建设费用网站开发安卓开发
  • 乡村门户网站建设重庆的网站设计公司
  • 学网页制作的网站access数据库网站开发
  • 大公司做网站的优势电商网站建设分析
  • 坪山企业网站建设襄县网站建设
  • 网页设计特效网站wordpress 挣钱
  • 数据网站企业网站的常见类型有什么