의존성과 연관성의 비교와 차이점

의존하다

분석 이해

  1. 종속성은 UML 다이어그램에서 점선과 화살표로 표시되며, 화살표가 가리키는 클래스는 해당 클래스가 종속적임을 나타냅니다.
  2. 의존성은 사용과 사용 사이의 관계를 반영합니다. 예를 들어 다음 예에서와 같이 사람들은 운전할 때 자동차에 의존할 수 있고, 운전할 필요가 없을 때는 자동차에 의존하지 않습니다.
  3. 종속성은 UML의 다섯 가지 관계 중에서 가장 작은 결합입니다.
  4. 수명주기는 매우 작으며 다른 클래스에 의존한 후 두 클래스 간의 관계가 종료됩니다.

표현의 세 가지 형태:

  1. 종속 클래스는 메서드 매개 변수로 종속 클래스에 전달됩니다.
  2. 종속 클래스는 종속 클래스의 메서드에서 선언되고 인스턴스화됩니다.
  3. 종속 클래스는 정적 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();
    }
}

협회

분석 이해

  1. 연관된 관계는 실선과 화살표로 표시되며 화살표가 가리키는 클래스는 연관되는 클래스이다.
  2. 연합은 의존보다 더 강한 관계를 반영합니다.
  3. 연관 관계는 클래스 간의 연결을 통해 한 클래스가 다른 클래스의 속성과 메서드를 알 수 있도록 합니다. 연관은 양방향일 수도 있고 단방향일 수도 있습니다. 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());
    }
}

의존성과 연관성의 차이점

● 결합 관점에서의 비교:
종속성이 있는 두 클래스에는 속성이 추가되지 않습니다. 클래스 중 하나가 다른 클래스의 메소드의 매개변수로 사용되거나 특정 메소드의 변수가
두 클래스와 관련되어 있는 경우 클래스 중 하나가 다른 클래스의 속성으로 사용되는 경우 속성은 보다 긴밀한 결합 관계입니다. 관계가 오랫동안 유지되므로 연관의 결합이 종속성의 결합보다 더 강합니다
. 두 관계의 선언 주기 관점에서 볼 때
종속성의 라이프사이클은 다음에만 존재합니다. 메서드가 종료될 때 종속 클래스의 현재 메서드 두 클래스 간의 종속성이 종료됩니다.
연관된 관계는 클래스가 인스턴스화될 때 생성되고 클래스가 소멸될 때 종료됩니다.

추천

출처blog.csdn.net/zwb568/article/details/125914239