zoukankan      html  css  js  c++  java
  • 设计模式之 组合模式

    组合模式又叫部分整体模式(个人觉得叫部分整体模式更直观)。是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。

    文字说的啥我也没懂,看示例代码吧,代码比较容易懂:

    image

    (1)定义TreeNode

    public class TreeNode{
        private String name;
        private TreeNode parent;
        private Vector<TreeNode> children = new Vector<>();
        
        public void TreeNode(String name){
            this.name = name;
        }
        
        public String getName(){
            return name;
        }
        public void setName(String name){
            this.name = name;
        }
        
        public TreeNode getParent(){
            return parent;
        }
        public void setParent(TreeNode parent){
            this.parent = parent;
        }
        
        //添加子节点
        public void add(TreeNode node){
            children.add(node);
        }
        //删除子节点
        public void remove(TreeNode node){
            children.remove(node);
        }
        // 获取子节点
        public Enumeration<TreeNode> getChildren(){
            return children.elements();
        }
    }

    (2)使用

    public static void main(String[] args){
        TreeNode nodeA = new TreeNode("A");
        TreeNode nodeB = new TreeNode("B");
        TreeNode nodeC = new TreeNode("C");
        nodeA.add(nodeB);
        nodeA.add(nodeC);
        
        logger.info(JSON.toJSONString(nodeA));
    }

    nodeB和nodeC为nodeA的子节点


  • 相关阅读:
    UVA232-纵横字谜的答案
    【SpringBoot】Re 02 Import与自定义装配实现
    【SpringBoot】Re 01 补充学习
    【ECharts】04 数据交互
    【ECharts】03 样式
    【ECharts】02 饼图
    【ECharts】01 快速上手
    【Mycat】01 概述
    【Git】05 分支管理
    【Git】04 文件删除
  • 原文地址:https://www.cnblogs.com/betterwgo/p/15224308.html
Copyright © 2011-2022 走看看