의존하다
분석 이해
- 종속성은 UML 다이어그램에서 점선과 화살표로 표시되며, 화살표가 가리키는 클래스는 해당 클래스가 종속적임을 나타냅니다.
- 의존성은 사용과 사용 사이의 관계를 반영합니다. 예를 들어 다음 예에서와 같이 사람들은 운전할 때 자동차에 의존할 수 있고, 운전할 필요가 없을 때는 자동차에 의존하지 않습니다.
- 종속성은 UML의 다섯 가지 관계 중에서 가장 작은 결합입니다.
- 수명주기는 매우 작으며 다른 클래스에 의존한 후 두 클래스 간의 관계가 종료됩니다.
표현의 세 가지 형태:
- 종속 클래스는 메서드 매개 변수로 종속 클래스에 전달됩니다.
- 종속 클래스는 종속 클래스의 메서드에서 선언되고 인스턴스화됩니다.
- 종속 클래스는 정적 public 메서드를 선언하고, 종속 클래스는 클래스명 point 메서드를 통해 메서드 내에서 직접 호출됩니다.
UML 다이어그램
암호
/**
* @program: zwbStudy
* @description: 汽车
* @author: 翟文彪
* @create: 2022-07-21 15:04
**/
public class Car {
public void move(){
System.out.println("汽车移动");
}
public static void speedUp(){
System.out.println("汽车加速");
}
}
/**
* @program: zwbStudy
* @description: 人
* @author: 翟文彪
* @create: 2022-07-21 15:04
**/
public class Person {
// 第一种依赖形式
private void drive(Car car){
car.move();
}
// 第二种依赖形式
private void drive(){
Car car = new Car();
car.move();
}
// 第三种依赖形式
private void drive(String param){
Car.speedUp();
}
}
협회
분석 이해
- 연관된 관계는 실선과 화살표로 표시되며 화살표가 가리키는 클래스는 연관되는 클래스이다.
- 연합은 의존보다 더 강한 관계를 반영합니다.
- 연관 관계는 클래스 간의 연결을 통해 한 클래스가 다른 클래스의 속성과 메서드를 알 수 있도록 합니다. 연관은 양방향일 수도 있고 단방향일 수도 있습니다. Java 언어에서 연관 관계는 일반적으로 멤버 변수를 사용하여 구현됩니다.
UML 다이어그램
암호
/**
* @program: zwbStudy
* @description: 地址
* @author: 翟文彪
* @create: 2022-07-21 15:10
**/
public class Address {
private String address;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
/**
* @program: zwbStudy
* @description:
* @author: 翟文彪
* @create: 2022-07-21 15:10
**/
public class Customer {
private Address address;
// 注册
private void register(){
address.setAddress("安次区");
System.out.println(address.getAddress());
}
}
의존성과 연관성의 차이점
● 결합 관점에서의 비교:
종속성이 있는 두 클래스에는 속성이 추가되지 않습니다. 클래스 중 하나가 다른 클래스의 메소드의 매개변수로 사용되거나 특정 메소드의 변수가
두 클래스와 관련되어 있는 경우 클래스 중 하나가 다른 클래스의 속성으로 사용되는 경우 속성은 보다 긴밀한 결합 관계입니다. 관계가 오랫동안 유지되므로 연관의 결합이 종속성의 결합보다 더 강합니다
. 두 관계의 선언 주기 관점에서 볼 때
종속성의 라이프사이클은 다음에만 존재합니다. 메서드가 종료될 때 종속 클래스의 현재 메서드 두 클래스 간의 종속성이 종료됩니다.
연관된 관계는 클래스가 인스턴스화될 때 생성되고 클래스가 소멸될 때 종료됩니다.