Maison >Java >javaDidacticiel >Exemple d'analyse du modèle de structure d'objet du modèle de composition en Java

Exemple d'analyse du modèle de structure d'objet du modèle de composition en Java

黄舟
黄舟original
2017-09-11 10:48:021436parcourir

Cet article présente principalement des informations pertinentes sur l'explication détaillée du modèle de structure objet du modèle de combinaison en Java. J'espère que cet article pourra aider tout le monde à comprendre le modèle de structure objet de l'application. Les amis dans le besoin pourront s'y référer

<.>

Explication détaillée du modèle de structure d'objet du modèle de composition en Java

1 Intention

Combiner des objets dans un arbre. structure pour représenter la hiérarchie partielle-"toute". Composite permet aux utilisateurs d'utiliser des objets uniques et des objets composites de manière cohérente.


2. Applicabilité

Vous souhaitez représenter la hiérarchie partie-tout des objets


Vous souhaitez que les utilisateurs ignorent les combinaisons objets Contrairement aux objets individuels, les utilisateurs utiliseront tous les objets d'une structure composite de manière uniforme.


3. Structure

4. >


public abstract class Component {
  protected String name; //节点名
  public Component(String name){
    this.name = name;
  }

  public abstract void doSomething();
}


public class Composite extends Component {
  /**
   * 存储节点的容器
   */
  private List<Component> components = new ArrayList<>();

  public Composite(String name) {
    super(name);
  }

  @Override
  public void doSomething() {
    System.out.println(name);

    if(null!=components){
      for(Component c: components){
        c.doSomething();
      }
    }
  }

  public void addChild(Component child){
    components.add(child);
  }

  public void removeChild(Component child){
    components.remove(child);
  }

  public Component getChildren(int index){
    return components.get(index);
  }
}


public class Leaf extends Component {


  public Leaf(String name) {
    super(name);
  }

  @Override
  public void doSomething() {
    System.out.println(name);
  }
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn