UML 클래스의 몇 가지 관계

2731 단어
클래스맵은 클래스와 클래스 간의 관계를 묘사하는 설명도로 그의 이미지는 체계적인 구조를 묘사하여 소프트웨어의 디자인 사상을 더욱 깊이 이해하는 데 도움이 된다.클래스 맵에서 클래스의 관계는 강에서 약으로 네 가지로 나눌 수 있다. 범화--->실현--->연관--->의존이다.

1. 일반화


관계 설명: 범화는 일종의 계승이다.이것은 하위 클래스가 부모 클래스의 모든 특징과 행위를 특화하는 방법을 지정했다.코드 설명: 상위 및 하위 범례: 빈 삼각형의 실선 화살표, 화살표는 상위 코드를 가리킵니다.
public class Base{
}
public class BaseExt extends Base{
}

2. 실현


관계설명: 실현은 종류와 인터페이스의 관계로 유형은 인터페이스의 모든 특징과 행위의 실현을 나타낸다.코드 설명: 구현 클래스 및 인터페이스 범례: 빈 삼각형 점선 화살표, 화살표는 인터페이스 코드를 가리킵니다.
public interface IBase{
    public void doSomething();
}

public class BaseImp implements IBase{
    @Override
    public void doSomething(){
       System.out.println("doSomething!");
    }
}

3. 연관


관계 설명: 관련은 클래스와 클래스 간의 소유 관계를 나타낸다.즉 하나의 클래스는 다른 클래스의 구성원이다.연관의 종류: 자가연관, 단방향연관, 양방향연관, 다중연관, 집합, 조합 등

3.1 연관성


관계 설명: 하나의 종류는 자신을 포함한다.코드 설명: 구성원 변수 범례: 일반 실선 화살표는 자신의 코드를 가리킵니다.
 public class Node {
     private Node node;
}

3.2 단방향 연결


관계 설명: 한 클래스는 다른 클래스의 구성원을 포함하고 다른 클래스는 해당 클래스의 구성원 코드 설명이 없습니다. 구성원 변수 그림: 일반 실선 화살표는 연결된 클래스 코드를 가리킵니다.
public class NodeA{
}
public class NodeB{
   private NodeA nodeA;
}


3.3 양방향 연결


관계 설명: 두 종류는 서로 다른 종류의 구성원을 포함한다.(순환 참조가 쉬워 메모리 유출이 발생) 코드 설명: 구성원 변수 도례: 일반 실선, 화살표 코드 없음:
public class NodeA{
    private NodeB nodeB;
}

public class NodeB{
    private NodeA nodeA;
}


3.4 다중 연관성


관계 설명: 한 클래스에 다른 클래스를 포함하는 여러 구성원.코드 설명: 구성원 변수 도례: 수량 관계 설명이 있는 실선, 화살표가 없는 실선.코드:
public class NodeA{
}
public class NodeB{
    private NodeA[] nodeAs;
}

3.5 집계


관계 설명: 집합은 전체와 부분의 관계이고 구성원 대상은 전체 대상의 일부이며 구성원 대상은 독립적으로 존재할 수 있다.예를 들어 타이어와 자동차 관계 코드 설명: 구성원 변수 도례: 공심 마름모꼴이 있는 실선 화살표, 마름모꼴은 전체를 가리키고 화살표는 부분을 가리킨다.코드:
public class Car{
    public Tire tire;
}
public class Tire{
}

3.6 조합


관계 설명: 조합은 전체와 부분의 관계이고 구성원 대상은 전체의 일부분이다. 전체 대상은 구성원 대상의 생명 주기를 통제하고 전체가 존재하지 않으면 구성원 대상도 존재하지 않는다.예를 들어 사람의 몸과 손 코드 설명: 구성원 변수 도례: 속이 꽉 찬 마름모꼴의 실선 화살표, 마름모꼴은 전체를 가리키고 화살표는 부분 코드를 가리킨다.
public class Body{
    private Hand hand;
}
public class Hand{
}

4. 의존


관계 설명: 클래스와 클래스 간의 사용 관계에 의존한다.한 사물이 다른 사물을 사용하는 것을 나타낸다.코드 설명: 국부 변수, 방법의 매개 변수 또는 정적 방법, 구성원에 대한 호출 도례: 화살표가 달린 허선으로 사용자 코드를 가리킨다.
public class Boat{
}
public class People{  
    public int acrossRiver(Boat boat){
          .........
    }
}

5. 요약


유도 관계에 대한 이해는 디자인 모델의 정수를 더욱 잘 이해하는 데 도움을 줄 수 있다.뒤에 필자는 몇 가지 흔히 볼 수 있는 디자인 모델을 점차적으로 소개할 것이다.

좋은 웹페이지 즐겨찾기