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

    Composite 组合模式

    树状结构专用模式

    abstract class Node{
        abstract public void p();
    }
    
    class leafNode extendx Node{
        String content;
        public leafNode(String content){
            this.content = content;
        }
        
        public void p(){
            System.out.println(content);
        }
    }
    
    class BranchNode extends Node{
        List<Node> nodes = new ArrayList<>();
        String name;
        public BranchNode(String name){
            this.name = name;
        }
    }
    
    public class Main{
        public static void main(){
            BranchNode root = new BranchNode('root');
            BranchNode chapter1 = new BranchNode("chapter1");
            BranchNode chapter2 = new BranchNode("chapter2");
            Node c11 = new LeafNode("c11");
            Node c12 = new LeafNode("c12");
            BranchNode b21 = new BranchNode("section21");
            Node c211 = new LeafNode("c211");
            Node c212 = new LeafNode("c212");
    
            root.add(chapter1);
            root.add(chapter2);
            chapter1.add(cl1);
            chapter2.add(cl2);
            b21.add(c211);
            b21.add(c212);
    
            tree(root);
        }    
        static void tree(Node b, int depth){
            for(int i = 0; i < depth; i++){
                System.out.println("--");
            }
            b.p();
            if(b instanceof BranchNode){
                for(Node n : ((BranchNode)b).nodes){
                    tree(n, depth + 1);
                }
            }
        }
    }
  • 相关阅读:
    贪心算法
    机器视觉算法与应用读书笔记(算法)
    多层感知机面临的问题
    反向传播
    卷积后的输出尺寸
    TensorFlow入门
    MyBatis-使用XML或注解的简单实例
    在web.xml中配置SpringMVC
    深入理解Class类和Object类
    MySQL索引
  • 原文地址:https://www.cnblogs.com/YC-L/p/14257559.html
Copyright © 2011-2022 走看看