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

黄舟
Libérer: 2017-09-11 10:48:02
original
1422 Les gens l'ont consulté

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();
}
Copier après la connexion


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);
  }
}
Copier après la connexion


public class Leaf extends Component {


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

  @Override
  public void doSomething() {
    System.out.println(name);
  }
}
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal