Sự phụ thuộc - Sự thay đổi trong một lớp ảnh hưởng đến sự thay đổi trong lớp phụ thuộc của nó. Ví dụ- Hình tròn phụ thuộc vào Hình dạng (một giao diện). Nếu bạn thay đổi Hình dạng, nó cũng ảnh hưởng đến Hình tròn. Vì vậy, Circle có sự phụ thuộc vào Shape.
Liên kết - nghĩa là có một mối quan hệ nhất định giữa 2 đối tượng
(một-một, một-nhiều, nhiều-nhiều)
Hiệp hội có 2 loại-
- Thành phần
Tổng hợp
1) Thành phần - Liên kết mạnh hơn hoặc mối quan hệ giữa 2 đối tượng. Bạn đang tạo một đối tượng của một lớp B bên trong một lớp A khác
public class A {
B b;
public void setB(){
this.b= new B();
}
}
Nếu chúng ta xóa lớp A, B sẽ không tồn tại (đối tượng B chỉ được tạo bên trong A).
Một ví dụ khác - Cơ thể & Gan. Sự sống không thể tồn tại bên ngoài Cơ thể.
2) Tính tổng hợp - kiểu liên kết yếu hơn giữa 2 đối tượng.
public class A {
B b;
public void setB(B b_ref){
this.b= b_ref;
/* object B is passed as an argument of a method */
}
}
Ngay cả khi bạn xóa lớp A, B sẽ tồn tại bên ngoài (B được tạo bên ngoài và chuyển cho Lớp A)
Một ví dụ khác về điều này- Man & Car. Man has a Car nhưng Man & Car tồn tại độc lập.