- 浏览: 308246 次
- 性别:
- 来自: 大连
文章分类
- 全部博客 (272)
- java (42)
- c (49)
- 算法 (29)
- 汇编语言 (3)
- 字符集 (3)
- error (3)
- 搜索引擎 (2)
- 互联网 (18)
- linux (12)
- 网络 (20)
- VMWare (1)
- 面试 (7)
- c++ (55)
- 设计模式 (3)
- db (9)
- office (2)
- FS (1)
- rest (3)
- Ajax (2)
- Spring (2)
- Hibernate (3)
- matlab (1)
- load balancing (8)
- 分布式计算 (2)
- 易语言 (1)
- apache tomcat (1)
- 测试 (1)
- 数据结构 (5)
- 数学 (13)
- 服务器 (9)
- 读后感 (4)
- 好书介绍 (1)
- script (3)
- wordpress (2)
- delphi (21)
- pascal (8)
- xml (3)
- 趣味 (1)
- PHP (3)
- python (13)
- DLL (4)
- openGL (8)
- windows (2)
- QT (28)
- django (7)
- jquery (1)
- 数据挖掘 (7)
- nginx (1)
- js (1)
- mac (1)
- hadoop (3)
- 项目管理 (1)
- 推荐系统 (1)
- html (1)
最新评论
-
晴天1234:
related remove:attention.ibus和u ...
UBUNTU的默认root密码是多少,修改root密码 -
美丽的小岛:
美丽的小岛 写道如上配置好就得了。提示没有OpenGl.dll ...
OpenGL学习入门之VS2010环境配置 [转] -
美丽的小岛:
如上配置好就得了。提示没有OpenGl.dll之类的,再增加入 ...
OpenGL学习入门之VS2010环境配置 [转] -
美丽的小岛:
主要是理清哪两个对象之间的关系,是信号与所有槽的关系或者是槽与 ...
QT之DisConnect -
美丽的小岛:
LPCTSTR类型:L表示long指针 这是为了兼容Windo ...
QString与各种字符串之间的转化
知识点树与组合设计模式:
知识点树在库中根据编号来实现,在java类中用组合模式来实现。
uml图:
JAVA实现代码:
AbstractNode抽象类:
package test.GOF.composite; public abstract class AbstractNode { public abstract boolean add(AbstractNode node); public abstract boolean remove(AbstractNode node); public abstract void diplay(int deth); }
LeafNode类:
package test.GOF.composite; public class LeafNode extends AbstractNode { private String name = ""; public LeafNode() { } public LeafNode(String name) { this.name = name; } @Override public boolean add(AbstractNode node) { System.out.println("是叶子了,没有子节点了!"); return false; } @Override public void diplay(int depth) { for (int i = 0; i < depth; i++) { System.out.print("-"); } System.out.println(this.name); } @Override public boolean remove(AbstractNode node) { System.out.println("没有子节点,不可删除!"); return false; } }
Node类:
package test.GOF.composite; import java.util.ArrayList; import java.util.List; public class Node extends AbstractNode { String name = ""; List<AbstractNode> child = new ArrayList<AbstractNode>(); public Node() { } public Node(String name) { this.name = name; } @Override public boolean add(AbstractNode node) { return child.add(node); } @Override public void diplay(int depth) { for (int i = 0; i < depth; i++) { System.out.print("-"); } System.out.println(this.name); for (AbstractNode node : child) { node.diplay(depth + 1); } } @Override public boolean remove(AbstractNode node) { return child.remove(node); } }
MainTest类:
package test.GOF.composite; public class MainTest { public static void main(String[] args) { LeafNode leaf1 = new LeafNode("010101"); LeafNode leaf2 = new LeafNode("010102"); LeafNode leaf3 = new LeafNode("010103"); Node node1 = new Node("0101"); node1.add(leaf1); node1.add(leaf2); node1.add(leaf3); leaf1 = new LeafNode("0102"); leaf2 = new LeafNode("0103"); Node root = new Node("01"); root.add(node1); root.add(leaf1); root.add(leaf2); root.diplay(0); } }
发表评论
-
推荐!国外程序员整理的Java资源大全
2015-12-15 10:14 665本文由 ImportNew - 唐 ... -
jsoup select 选择器
2015-12-09 14:03 982问题 采用CSS或类似jquery 选择器(selecto ... -
xmlbeans问题(深刻)
2015-11-12 23:08 1189运行scomp,路径永远是一个问题; 1.Program ... -
spring配置一个简单的数据连接池(dbcp)
2015-11-12 14:16 8201.文件结构 2.包结构 3.spring.x ... -
java泛型之通配符的使用
2015-11-12 12:15 708转自: http://blog.csdn.net/lone ... -
Ubuntu下安装JDK
2015-05-02 18:42 558安装JDK: 1.下载 http://www ... -
Delphi开发DLL,Java调用DLL
2014-01-01 16:40 1322用一个小例子来示范一下,不写文件字。 第一步 第二步, ... -
如何在Java中调用DLL方法<转>
2013-12-30 13:36 719Java语言本 ... -
Java对存储过程的调用方法
2013-05-14 09:29 796//一:Java如何实现对存储过程的调用: // A ... -
谈谈对象和XML文件的转换 <转>
2013-04-12 14:18 1044很多时候,我们开发 ... -
详解Java解析XML的四种方法<转>
2013-04-12 14:01 969XML现在已经成为一种通用的数据交换格式,它的平台无关性, ... -
URLClassLoader例子
2012-11-22 15:22 1405学着写一个servlet服务器,里面对servlet的处理就得 ... -
关于JAVA配置文件的小记录
2012-11-20 15:16 1007配置文件一般会为编写编程提供方便与灵活的特点,最近看tomca ... -
关于Channel学习
2012-10-07 15:12 1115java的新I/O流,有点意思,看看相关的类,其实就这几个就能 ... -
Buffer类与ByteBuffer类(来自JDK)
2012-10-07 10:10 12411. 类 Buffer(public abst ... -
运行控制台命令(java)
2012-10-07 08:30 2915有时候我们想用java去调用系统的命令实现一些功能,这个功能 ... -
匿名内部类是怎么回事
2012-10-05 13:12 1096匿名内部类真的很神秘的,不过,这种类就喜欢做一些神秘的东西。想 ... -
内部类链接到外部类
2012-10-05 10:45 736java中的内部类可以无条件地使用外部类的资源,这是怎么一回事 ... -
关于对象初始(java)
2012-10-04 20:31 1115有时,对JAVA实例化的顺序会忘记,现在记录一下。 1.调用 ... -
关于static的一些思考(java)
2012-10-04 19:07 1674当有时候回忆JAVA的基础的时候,有些东西一下子会变 ...
相关推荐
组合模式是一种对象结构型设计模式,它允许我们以树形结构来表示部分-整体关系,使得我们可以像处理单个对象一样处理整个集合。在五子棋游戏的实现中,组合模式的应用尤为关键,因为它帮助我们将棋盘上的棋子和棋盘...
下面将详细探讨组合模式在空军指挥系统中的应用及其相关知识点。 首先,我们要理解组合模式的核心思想:它将简单对象和组合对象平等对待,通过统一的接口来操作它们。在Java中,这通常通过定义一个公共接口或抽象类...
3. 组合模式(Composite):将对象组合成树形结构以表示"部分-整体"的层次结构。 4. 装饰模式(Decorator):动态地给一个对象添加一些额外的职责。 5. 外观模式(Facade):为子系统中的一组接口提供一个一致的界面...
在这个主题中,我们主要探讨了如何利用组合模式(Composite Pattern)构建二叉树,并通过迭代器模式(Iterator Pattern)来实现对树的遍历,包括前序、中序和后序遍历。这些是设计模式中的经典应用,对于理解和掌握...
* 结构型模式:结构型模式是指对象之间的关系,例如适配器模式、桥接模式、组合模式等。 * 行为型模式:行为型模式是指对象之间的交互,例如策略模式、状态模式、观察者模式等。 4. UML 是一种统一建模语言,用于...
#### 核心知识点详解 1. **对象容器问题与Composite模式的动机** 在面向对象系统中,经常遇到具备容器特性同时又是个体对象的情况。例如,一个文件夹既是文件也是包含其他文件或文件夹的容器。处理这类对象时,...
- **组合模式**:将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。 - **桥接模式**:将抽象部分与它的实现部分分离,以便两者可以独立变化。 - **享元模式**:...
设计模式知识点(23种设计模式) 设计模式是一种软件设计中常用的解决方案,旨在解决软件开发过程中遇到的各种问题,提高软件的可维护性、可扩展性和可重用性。这里总结了23种常用的设计模式,分为创建型模式、结构...
知识点: * 组合模式的定义和特点 * 组合模式的实现方法(抽象基类Component、Leaf类和Composite类) * 组合模式的优点和缺点 * 组合模式在实际应用中的使用场景(菜单系统、文件系统等) 组合模式是一种非常有用...
下面我们将深入探讨下拉树控件的相关知识点。 首先,我们要理解下拉树控件的基本构成。通常,它由两部分组成:一个简单的下拉按钮和一个展开后的树形结构。点击下拉按钮后,会显示一个包含多个节点(每个节点可能有...
数据库工程师的知识点广泛且深入,尤其在面对四级考试时,需要掌握更为全面的专业技能。以下是对数据库工程师所需知识点的详细阐述: 1. 数据库基础理论: - 数据模型:理解并掌握三种主要的数据模型——关系型...
知识点1:什么是组合模式? 组合模式是一种结构型设计模式,它将对象组合成树形结构以表示“部分一整体”的层次结构。这种模式使得用户对单个对象和组合对象的使用具有一致性。 知识点2:组合模式的优点 使用组合...
【ACM竞赛讲解知识点】 ACM(International Collegiate Programming Contest,国际大学生程序设计竞赛)是一项全球性的编程竞赛,旨在挑战参赛者在限定时间内解决复杂数学和算法问题的能力。以下是对压缩包文件中...
组合模式是将对象组合成树形结构,以表示部分整体的关系。它的主要作用是使客户端代码可以统一地处理单个对象和组合对象。 6. 门面模式(Facade Pattern): 门面模式是提供一个统一的接口来访问一个子系统的多个...
2. **组合模式(Composite Pattern)**:Flock.java文件可能代表了组合模式的应用,该模式将对象组合成树形结构以表示部分-整体的层次关系。Flock类可能作为一个容器,持有多个Duck对象,实现了整体行为,如让整个鸭...
- 组合模式:允许你将对象组合成树形结构来表现“整体/部分”层次结构。 - 观察者模式:定义了对象之间的一对多依赖关系,当一个对象的状态改变时,所有依赖于它的对象都会得到通知并自动更新。 4. **设计模式的...
9. 组合模式:组合模式将对象组合成树形结构以表示部分-整体的层次结构。它使得客户可以统一处理单个对象和组合对象,简化了处理复杂对象集合的逻辑。 10. 策略模式:策略模式定义了一系列的算法,并将每一个算法...
组合模式的一个适用场景是,如果系统中需要处理的对象具有树形结构,并且客户代码需要对单个对象和复合对象(即包含其他对象的对象)进行一致的操作。 5. 观察者模式(Observer Pattern): 观察者模式定义了对象...
六至十五的知识点未在提供的内容中展开,但可以推测这些章节可能包括速算技巧、数数与计数、自然数串的趣味问题、奇偶数的区分、分组与组式的概念、不等式与排序的理解,以及综合练习题,旨在巩固和应用前面所学的...
7. **组合模式**:将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。 8. **装饰模式**:动态地给一个对象添加一些额外的责任,提供比继承更有弹性的替代方案。 9...