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

东莞网站建设公司电话百度免费安装下载

东莞网站建设公司电话,百度免费安装下载,wordpress编辑器 下载,国内做医疗耗材的网站文章目录 Java 设计模式之组合模式概述UML代码实现 Java 设计模式之组合模式 概述 组合模式(Composite):将对象组合成树形结构以表示’部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。优点:客户端可以统一处理单个对象…

文章目录

  • Java 设计模式之组合模式
    • 概述
    • UML
    • 代码实现

Java 设计模式之组合模式

概述

  • 组合模式(Composite):将对象组合成树形结构以表示’部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。
  • 优点:客户端可以统一处理单个对象和组合对象。支持递归组合,简化了复杂结构的处理。

UML

在这里插入图片描述

  • Component:抽象了或接口,定义叶子节点和组合节点的共同行为
  • Leaf:叶子节点,表示没有子组件。
  • Composite:组合节点,可以包含其他子组件。

代码实现

定义组件:

public abstract class Component {protected String name;public Component(String name) {this.name = name;}/*** 显示** @param level 第几层级*/public abstract void display(int level);
}

定义叶子节点:

public class File extends Component {public File(String name) {super(name);}@Overridepublic void display(int level) {System.out.println("-".repeat(level * 4) + "File:" + name);}
}

定义组合节点:

public class Directory extends Component {private ArrayList<Component> children = new ArrayList<>();public Directory(String name) {super(name);}public void addComponent(Component component) {children.add(component);}public void removeComponent(Component component) {children.remove(component);}@Overridepublic void display(int level) {System.out.println("-".repeat(level * 4) + "Directory:" + name);for (Component component : children) {component.display(level + 1);}}
}

使用:

public class Client {public static void main(String[] args) {File file1 = new File("file1.txt");File file2 = new File("file2.txt");File file3 = new File("file3.txt");File file4 = new File("file4.txt");Directory root = new Directory("root");Directory dir1 = new Directory("dir1");Directory dir2 = new Directory("dir2");root.addComponent(file1);root.addComponent(dir1);dir1.addComponent(file2);dir1.addComponent(dir2);dir2.addComponent(file3);dir2.addComponent(file4);root.display(0);}
}

输出:

Directory:root
----File:file1.txt
----Directory:dir1
--------File:file2.txt
--------Directory:dir2
------------File:file3.txt
------------File:file4.txt
http://www.dtcms.com/wzjs/318454.html

相关文章:

  • 网站设置文件线上推广方式有哪些
  • wordpress sql文件大小seo推广费用需要多少
  • 在上阿里云做网站申请友情链接
  • 淘宝客怎么建立网站中国国际新闻
  • 网站首页的重要性网上营销的方式
  • 外文网站做t检验分析舆情网站入口
  • 珠海网站建设网上推销产品的软件
  • 外地公司做的网站能备案优化大师win10能用吗
  • 网站建设哪些好大连百度关键词优化
  • wordpress统计代码班级优化大师官方免费下载
  • 张家口企业网站建设小广告网页
  • 深圳模板网站建设网络营销的内容
  • wordpress做社交网站吗陕西seo主管
  • 网站采集被降权seo推广主要做什么
  • wordpress网站不稳定seo优化工作怎么样
  • 吴中区建设局网站图片外链在线生成网址
  • 山东淄博网站建设公司win7优化大师
  • 江西网站开发公司百度官网认证
  • 网站申请名称竞价托管公司
  • 如何免费建立公司网站东莞网站推广的公司
  • 怎么才能建设免费网站青岛seo推广专员
  • 个人微信号做网站行吗郑州官网网站推广优化公司
  • 深圳建模板网站什么是市场营销
  • 建材公司网站建设方案网站营销策划公司
  • 网站排名优化策划网络服务平台
  • 电子商务网站建设感想百度云搜索引擎官网入口
  • seo快速排名关键词如何结合搜索检索与seo推广
  • Wordpress页面怎么使用杭州哪家seo公司好
  • 新加坡vpsseo门户网站建设方案
  • 我要做个网站该怎么做个人网站制作多少钱