UML 클래스의 몇 가지 관계
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. 요약
유도 관계에 대한 이해는 디자인 모델의 정수를 더욱 잘 이해하는 데 도움을 줄 수 있다.뒤에 필자는 몇 가지 흔히 볼 수 있는 디자인 모델을 점차적으로 소개할 것이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.