组合
树形层级结构,各节点都实现同一顶层接口具有共同操作且存在递归嵌套。比如文件目录系统
classDiagram
class FileNode {
<<interface>>
+path() String
+parent() FileNode
+childs() List<FileNode>
+isFile() boolean
}
FileNode ..> FileNode : 返回值
class Directory {
-String path
-FileNode parent
-List<FileNode> childs
-boolean isFile
}
Directory ..|> FileNode : 实现
Directory *-- FileNode : 构造器初始化成员
class File {
-String path
-FileNode parent
-List<FileNode> childs
-boolean isFile
+extName() String
}
File ..|> FileNode : 实现
File *-- FileNode : 构造器初始化成员