`

Java设计模式之Composite模式:例子

阅读更多
用java实现一个二叉树,节点有一个值,为value,int类型。设法将这些节点组织成一棵树,并实现这些节点得遍历。
package structure.composite;
import java.util.*;
public class Node {
 private Node leftChild;
 private Node rightChild;
    private int value;
   public static  Vector v=new Vector();
 public int getValue() {
  return value;
 }
    public Node(int value){this.value=value;}
 public void setValue(int value) {
  this.value = value;
 }
 public void setLeftChild(Node leftChild) {
  this.leftChild = leftChild;
 }
 public void setRightChild(Node rightChild) {
  this.rightChild = rightChild;
 }
 public Node getLeftChild() {
  return leftChild;
 }
 public Node getRightChild() {
  return rightChild;
 }
 public void getAllChildren(){
  if(leftChild!=null){
   v.add(leftChild);
   leftChild.getAllChildren();
  }
  if(rightChild!=null){
   v.add(rightChild);
   rightChild.getAllChildren();
  }
 }
 public int getAllChildrenValue(){  
  int sum=0;
  if(leftChild!=null){
   sum+=leftChild.getValue();
   sum+=leftChild.getAllChildrenValue();
  }
  if(rightChild!=null){
   sum+=rightChild.getValue();
   sum+=rightChild.getAllChildrenValue();
  }
  return sum;
 }
}
package structure.composite;
import java.util.*;
public class Demo {
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
       Node node1=new Node(1);
       Node node2=new Node(2);
       Node node3=new Node(3);
       Node node4=new Node(4);
       Node node5=new Node(5);
       node1.setLeftChild(node2);
       node2.setRightChild(node3);
       node3.setLeftChild(node4);
       node2.setLeftChild(node5);
       System.out.println(node1.getAllChildrenValue());
      
       node1.getAllChildren();
       Vector v=Node.v;
       Iterator i=v.iterator();
       while(i.hasNext()){
        System.out.println(((Node)i.next()).getValue()+":");
       }
 }
}
分享到:
评论

相关推荐

    Java设计模式之禅

    《Java设计模式之禅》是一本深入浅出讲解设计模式的书籍,书中不仅包含23种经典设计模式的案例,还详细介绍了设计模式背后的思想和原则,适合初学者以及对设计模式有一定了解的程序员阅读。本书旨在帮助读者理解如何...

    java 23种设计模式及具体例子

    java 设计模式 java 设计模式是软件工程的基石,它们被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式可以让代码更容易被他人理解、保证代码可靠性、提高代码的重用性。 一、设计模式...

    Java设计模式学习.pdf

    Java设计模式是软件开发中一种被广泛采用的方式,它是一组被反复使用、多数人知晓、分类编目、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 根据提供的文件内容,...

    设计模式--组合模式java例子

    综上所述,组合模式在Java开发中是一种非常实用的设计模式,通过它我们可以构建灵活且易于维护的对象结构。在TestComposite这个例子中,我们可以预期看到如何在实际代码中运用这些概念来构建和操作一个组合结构。

    《Java设计模式》源代码

    Java设计模式是软件工程中的一种最佳实践,它们是解决常见编程问题的经验总结,可以提高代码的可重用性、可维护性和可扩展...这个压缩包中的源代码提供了实际应用这些模式的例子,是学习和研究Java设计模式的宝贵资源。

    java设计模式详解,java design pattern

    Java设计模式详解涉及到23种设计模式,这些设计模式可以根据其目的和范围被划分为三大类:创建型模式(Creational Patterns)、结构型模式(Structural Patterns)和行为型模式(Behavioral Patterns)。下面将详细...

    Java 23种设计模式及例子

    ### Java 23种设计模式详解 #### 一、设计模式概述 设计模式是一种编码实践,旨在通过标准化的解决方案来解决常见的软件设计问题。这些模式不仅有助于提高代码的可读性和可维护性,还能增强软件的灵活性和扩展性。...

    Java【23种设计模式】速查文档,含例子

    Java设计模式是软件开发中的重要概念,它是一种在特定情境下解决问题的经验总结,可以提高代码的可重用性、灵活性和可维护性。这23种设计模式是面向对象编程中广泛采用的经典模式,涵盖了创建型、结构型和行为型三大...

    闫宏Java设计模式源码

    Java设计模式是软件开发中的一种重要思想,它总结了在解决特定问题时,代码组织和重用的最佳实践。阎宏的《Java设计模式》是一部详细阐述这些模式的著作,旨在帮助开发者更好地理解和应用设计模式。这本书通过源码...

    Java 24种设计模式

    通过以上对Java设计模式中创建型模式和结构型模式的详细介绍,我们可以看到这些模式是如何帮助我们在实际编程过程中解决问题的。无论是创建对象,还是对现有对象进行扩展或组合,设计模式都能提供一种优雅的解决方案...

    从追MM谈Java的23种设计模式

    标题《从追MM谈Java的23种设计模式》独特地将Java设计模式与“追女孩”的生活场景相结合,通过一系列生动的例子来解释各种设计模式的概念和使用场景。在IT行业中,这种以生活场景来比喻技术概念的方式,能帮助人们更...

    JAVA23中设计模式

    ### JAVA23中设计模式详解 #### 一、概述 设计模式是在软件设计过程中解决常见问题的一套可复用的解决方案。《JAVA23中设计模式》是一份针对Java程序员的指南,旨在通过一系列示例和理论讲解,帮助读者理解和掌握...

    自己整理的java设计模式23例子(包含源码)

    Java设计模式是软件开发中的重要概念,它是一种在特定情境下解决问题的经验总结,可以提高代码的可重用性、可维护性和灵活性。本资源包含了23种经典的设计模式,每一种都有具体的Java实现源码,这为学习和理解设计...

    【Java设计模式-源码】组合模式:构建灵活的树结构

    二、组合设计模式的别名 Object Tree(对象树) Composite Structure(组合结构) 三、组合设计模式的意图 将对象组合成树结构,以表示部分 - 整体层次结构。组合设计模式允许客户端统一对待单个对象和对象的组合。 ...

    java_23种设计模式.rar

    Java中的23种设计模式是软件工程中非常重要的概念,它们是解决常见编程问题和创建可维护、可扩展代码的最佳实践。这些模式来自于Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides的经典著作《设计模式:可...

    23种设计模式JAVA实现,例子通俗易懂

    Java作为一种广泛应用的面向对象编程语言,其灵活性和强大的功能使其成为实现设计模式的理想选择。本资源提供了23种设计模式的Java实现,通过具体的代码示例帮助开发者深入理解并掌握这些模式。 1. **单例模式...

    java设计模式详解

    Java设计模式详解 设计模式是软件开发中的重要概念,它是一种在特定场景下解决常见问题的标准解决方案,旨在提高代码的可重用性、可读性和可维护性。设计模式是面向对象编程领域的宝贵经验总结,它将过去成功的编程...

    JAVA 设计模式的详细讲解另类解读

    Java设计模式是软件工程中的一种最佳实践,它们是解决常见编程问题的经验总结,旨在提高代码的可重用性、可维护性和灵活性。本主题将深入探讨24种主要的设计模式,以及它们在Java中的另类解读。 首先,设计模式分为...

    java设计模式

    ### Java设计模式详解 #### 一、概述 Java设计模式是一种软件工程领域的概念,它提供了一套被广泛接受的、经过验证的解决方案,用于解决在软件设计过程中出现的常见问题。设计模式并不是完成任务的具体代码,而是...

    Java设计模式(泡妞经典版)

    Java 设计模式详解 Java 设计模式是指在软件开发过程中,为了解决一些常见的问题和难题,所采用的设计思路和方法。这些设计模式可以帮助开发者更好地组织代码,提高代码的可读性、可维护性和扩展性。 一、创建型...

Global site tag (gtag.js) - Google Analytics