자바 에서 대상 을 대상 으로 하 는 디자인 모델 류 와 클래스 의 관 계 를 상세 하 게 설명 합 니 다.
자바 와 다른 대상 을 대상 으로 하 는 디자인 모델 에서 유형 과 유형 간 에는 주로 6 가지 관계 가 있 는데 그들 은 각각 의존,관련,집적,조합,계승,실현 이다.그들의 결합 도 는 순서대로 증가한다.
1. 의존(의존)
의존 관계 의 정 의 는 두 상대 적 으로 독립 된 대상 에 대해 한 대상 이 다른 대상 의 인 스 턴 스 를 구성 하거나 다른 대상 의 서비스 에 의존 할 때 이 두 대상 간 은 주로 의존 관계 로 나타난다.정의 가 까다 롭 고 이해 하기 어렵 지만 자바 에서 의 표현 은 비교적 직관 적 이다.클래스 A 에서 클래스 B 를 사 용 했 는데 그 중에서 클래스 B 는 클래스 A 의 방법 매개 변수,방법 중의 국부 변수,또는 정적 방법 으로 호출 되 었 다.클래스 위의 그림 에서 People 류 는 Book 류 와 Food 류 에 의존 하고 Book 류 와 Food 류 는 클래스 중의 방법의 매개 변수 형식 으로 People 류 에 나타난다.
코드 샘플:
public class People{
//Book read
public void read(Book book){
System.out.println(“ ”+book.getName());
}
}
2.관련(협회)단 방향 연결:
양 방향 연결:
상대 적 으로 독립 된 두 대상 에 대해 한 대상 의 인 스 턴 스 와 다른 대상 의 특정한 인 스 턴 스 가 고정된 대응 관 계 를 가 질 때 이 두 대상 은 관련 관계 이다.관련 관 계 는 단 방향 관련 과 양 방향 관련 으로 나 뉜 다.자바 에서 단 방향 관련 은 클래스 A 에서 클래스 B 를 사 용 했 는데 그 중에서 클래스 B 는 클래스 A 의 구성원 변수 로 나타난다.양 방향 관련 은 클래스 A 에서 클래스 B 를 구성원 변수 로 사용 한 것 으로 나 타 났 다.동시에 클래스 B 에서 도 클래스 A 를 구성원 변수 로 사용 했다.
코드 샘플:
public class Son{
//
Father father = new Father();
public void getGift(){
System.out.println(“ ”+father.getName()+” ”);
}
}
public class Father{
Son son = new Son();
public void giveGift(){
System.out.println(“ ”+son.getName()+“ ”);
}
}
3.집합(집합)취 합 관 계 는 관련 관계 의 일종 으로 결합 도가 관련 보다 강하 다.그들의 코드 표현 은 똑 같 고 의미 적 으로 만 차이 가 있다.관련 관계 의 대상 간 은 서로 독립 되 고 취 합 관계 의 대상 간 에는 포용 관계 가 존재 하 며 그들 사 이 는'전체-개체'의 상호 관계 이다.
코드 샘플:
public class People{
Car car;
House house;
// set
public void setCar(Car car){
This.car = car;
}
public void setHouse(House house){
This.house = house;
}
public void driver(){
System.out.println(“ :”+car.getType());
}
public void sleep(){
System.out.println(“ :”+house.getAddress());
}
}
4.조합(구성)집합 에 비해 조합 은 결합 도가 더 강 한 관련 관계 이다.조합 관계 가 존재 하 는 유형 은'전체-부분'의 관련 관 계 를 나타 내 고'전체'는'부분'의 생명 주 기 를 책임 지 며 그들 사 이 는 공생 공생 과 공생 이다.그리고'부분'이 단독으로 존재 할 때 아무런 의미 가 없다.다음 그림 의 예 에서 People 과 Soul,Body 는 조합 관계 로 사람의 생명 주기 가 시 작 될 때 영혼 과 육체 가 동시에 있어 야 한다.사람의 생명 주기 가 끝나 면 영혼 의 육체 가 사라 진다.영혼 이 든 육체 든 단독으로 존재 할 수 없 으 며 인간 의 구성 부분 으로 존재 해 야 한다.
Public class People{
Soul soul;
Body body;
//
Public People(Soul soul, Body body){
This.soul = soul;
This.body = body;
}
Public void study(){
System.out.println(“ ”+soul.getName());
}
Public void eat(){
System.out.println(“ :”+body.getName());
}
}
5.상속(일반화)계승 은 클래스 와 클래스(또는 인터페이스 와 인터페이스)간 의 부자 관 계 를 나타 낸다.자바 에 서 는 키워드 extends 로 계승 관 계 를 표시 합 니 다.UML 그림 에서 계승 관 계 는 실선+중 공 화살표 로 표시 하고 화살 표 는 부 류 를 가리킨다.
6.실현(구현)
하나 이상 의 인 터 페 이 스 를 실현 하 는 방법 을 나타 낸다.인 터 페 이 스 는 조작의 집합 을 정의 하고 실현 클래스 에서 인터페이스의 구체 적 인 조작 을 완성 한다.자바 에서 implements 를 사용 하여 표시 합 니 다.UML 그림 에서 관 계 를 실현 하려 면 점선+중 공 화살표 로 표시 하고 화살 표 는 인 터 페 이 스 를 가리킨다.
자바 에서 extends 키 워드 를 계승 하여 implements 키 워드 를 사용 하여 직관 적 입 니 다.코드 프 리 젠 테 이 션 안 할 게 요.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.