下载此文档

java设计模式——组合模式.ppt


文档分类:IT计算机 | 页数:约13页 举报非法文档有奖
1/13
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/13 下载此文档
文档列表 文档介绍
小组成员:
陈冬儿牛钰茜王泽民
王佳镭帅治林温赟
JAVA设计模式——组合模式
目录
1. 什么是组合模式
2. 组合模式应用情境
3. 组合模式使用实例
4. 组合模式的使用讨论
什么是组合模式
定义:
将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。


1. 树形结构
2. 部分—整体
3. 层次结构
4. 单个对象与组合对象
组合模式使用情境
1. 想要表示对象的部分—整体关系
2. 想要忽略组合对象与单个对象的差异
组合模式使用实例
结构:
枝节点:组合对象,存储子部件
叶节点:单个对象,没有子部件
接口:对象声明接口,访问和管理子部件
代码示例
ponent)
abstract ponent {
protected String name;
ponent(String name) {
= name;
}
public abstract void ponent c);
public abstract void ponent c);
public abstract void Display(int depth);
}
代码示例
叶节点(Leaf)
class Leaf ponent {
public Leaf(String name) {
super(name);
}
public void ponent c) {
("Can not add to a leaf");
}
public void ponent c) {
("Can not remove from a leaf");
}
public void Display(int depth) {
String temp = "";
for (int i = 0; i < depth; i++)
temp += '-';
(temp + name);
}
}
代码示例
posite)
posite ponent {
private ponent> children = new ponent>();
posite(String name) {
super(name);
}
public void ponent c) {
(c);
}
public void ponent c) {
(c);
}
public void Display(int depth) {
String temp = "";
for (int i = 0; i < depth; i++)
temp += '-';
(temp + name);
for (Component c : children) {
(depth + 2);
}
}
}
代码示例
用户(Client)
public positePattern {
public static void main(String[] args) {
Composite root = posite("root");
(new Leaf("Leaf A"));
(new Leaf("Leaf B"));
pX = posite("Composite X");
(new Leaf("Leaf XA"));
(new Leaf("Leaf XB"));
);
pXY = posite("Composite XY");
(new Leaf("Leaf XYA"));
(new Leaf("Leaf XYB"));
);
(1);
}
}
使用讨论——透明性
使用方式
在Component里面声明所有的用来管理子类对象的方法,ponent接口的最大化


优点:树叶与分支没有区别
缺点:树叶不存在子类,某些方法对叶节点不适用

java设计模式——组合模式 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
最近更新