java设计模式进阶_null-object
2016-09-01 15:25
465 查看
// // // Generated by StarUML(tm) Java Add-In // // @ Project : Untitled // @ File Name : Node.java // @ Date : 2016/9/1 // @ Author : // // public interface Node { public String getName(); public int getTreeSize(); public Node getLeft(); public Node getRight(); public void walk(); } // // // Generated by StarUML(tm) Java Add-In // // @ Project : Untitled // @ File Name : NodeImpl.java // @ Date : 2016/9/1 // @ Author : // // public class NodeImpl implements Node { private final String name; private final Node left; private final Node right; public NodeImpl(String name, Node left, Node right) { this.name = name; this.left = left; this.right = right; } public int getTreeSize() { return 1 + left.getTreeSize() + right.getTreeSize(); } public Node getLeft() { return left; } public Node getRight() { return right; } public void walk() { System.out.println(name); if(left.getTreeSize() > 0) left.walk(); if(right.getTreeSize() > 0) right.walk(); } @Override public String getName() { return name; } } // // // Generated by StarUML(tm) Java Add-In // // @ Project : Untitled // @ File Name : NullNode.java // @ Date : 2016/9/1 // @ Author : // // public class NullNode implements Node { public String getName() { return null; } public int getTreeSize() { return 0; } public Node getLeft() { return null; } public Node getRight() { return null; } public void walk() { } } public class App { public static void main(String[] args) { Node root = new NodeImpl( "1", new NodeImpl("11", new NodeImpl("111", new NullNode(), new NullNode()), new NullNode() ), new NodeImpl("12", new NullNode(), new NodeImpl("122", new NullNode(), new NullNode()) ) ); root.walk(); } } // //1 //11 //111 //12 //122
相关文章推荐
- 0099 Java设计模式--策略模式Context的必要性【进阶】
- 面试准备之--java进阶(涉及对象拷贝、反射、设计模式)
- java设计模式进阶_interpreter
- java设计模式进阶_observer
- java设计模式进阶_template-method
- 0102 Java设计模式02-代理模式【进阶】
- java设计模式进阶_flyweight
- java设计模式进阶_mediator
- java设计模式进阶_facade
- java设计模式进阶_command
- 0104 Java设计模式03-动态代理(实战篇JDK和cglib)【进阶】
- java设计模式进阶_strategy
- java设计模式进阶_singleton
- java设计模式进阶_chain
- Java 进阶7 并发优化 1 并行程序的设计模式
- Java设计模式--------建造者模式之进阶
- java设计模式进阶_builder
- java设计模式进阶_decorator
- java设计模式进阶_memento
- java设计模式进阶_iterator