>Java >java지도 시간 >Java 구성 모델의 객체 구조 패턴 분석 예시

Java 구성 모델의 객체 구조 패턴 분석 예시

黄舟
黄舟원래의
2017-09-11 10:48:021436검색

이 글은 주로 Java의 구성 모델의 객체 구조 모델에 대한 자세한 설명에 대한 관련 정보를 소개합니다. 이 글이 모든 사람이 응용 프로그램 객체 구조 모델을 이해하는 데 도움이 되기를 바랍니다.

객체 구조 Java의 구성 모델 패턴에 대한 자세한 설명

1. 의도

개체를 트리 구조로 결합하여 "부분-전체" 계층 구조를 나타냅니다. 복합을 사용하면 단일 개체와 복합 개체를 일관되게 사용할 수 있습니다.

2. 적용 가능성

객체의 부분-전체 계층을 표현하고 싶습니다.

사용자가 결합된 객체와 단일 객체의 차이를 무시하고 결합된 구조의 모든 객체를 균일하게 사용하기를 원합니다.

3. 구조

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);
  }
}


아아아아

위 내용은 Java 구성 모델의 객체 구조 패턴 분석 예시의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.