基于JAVA的设计模式之组合模式
2020-12-13 03:36
标签:name turn com extend style 树形结构 遍历 子类 poe 将所有对象组合成一种树形结构,有分支节点、叶子节点,分支节点可以有自己的子节点,子节点可以是分支节点、叶子节点,可以进行增删的操作,而叶子节点不可以。比如文件夹就是一个分支节点,而文件就是一个叶子节点。用于遍历组织结构或者处理树形对象。父类引用指向派生类对象(Compoent->Document,Folder)。 基于JAVA的设计模式之组合模式 标签:name turn com extend style 树形结构 遍历 子类 poe 原文地址:https://www.cnblogs.com/hbsdljz/p/11080705.html
public abstract class Component {
public void add(Component component){
//新建文件夹或文件
}
public void remove(Component component){
//删除文件夹或文件
}
public void print(){
//打印
}
public String getName(){
//名字
return null;
}
public String getType(){
//类型
return null;
}
}
//文件类 叶子类 不能操作孩子 即不能有add remove
public class Document extends Component {
private String name;
private String type;
public Document(String name,String type){
this.name=name;
this.type=type;
}
@Override
public void print() {
System.out.println(type+":"+name);
}
@Override
public String getName() {
return this.name;
}
@Override
public String getType() {
return this.type;
}
}
//文件夹类 孩子可以是文件夹也可以是文件
public class Folder extends Component{
private String name;
private String type;
private List