Hiệp hội là một trong những khái niệm quan trọng nhất trong lập trình hướng đối tượng. Thật khó để phát triển phần mềm có cấu trúc tốt mà không nắm vững các khái niệm này. Nó định nghĩa các quy tắc giao tiếp giữa các lớp
Sự kết hợpĐó là mối quan hệ giữa hai lớp và mối quan hệ đó được thiết lập thông qua các đối tượng của chúng. Mỗi đối tượng có vòng đời riêng và không có đối tượng chủ sở hữu. Đó là một loại quan hệ yếu. Nó có thể là một đối một, một đối nhiều, nhiều đối một hoặc nhiều đối nhiều
Ví dụ: học sinh và giáo viên, cả hai lớp được liên kết với nhau. Các đối tượng của mỗi lớp có vòng đời riêng và không có chủ sở hữu
tổng hợpĐó là sự liên kết một chiều. Khi một đối tượng có thể truy cập một đối tượng khác thì mối quan hệ đó được gọi là tập hợp. Các đối tượng có thể tồn tại độc lập trong mối quan hệ này
Chúng ta có thể định nghĩa một cách ngắn gọn hơn, tập hợp là khi một đối tượng của một lớp có thể sở hữu hoặc truy cập đối tượng của một lớp khác
Hãy lấy một ví dụ về một sinh viên và bộ phận. Có hai lớp, một là sinh viên và một là khoa. Sinh viên được chỉ định một số đăng ký dựa trên bộ phận cụ thể. Hãy triển khai mã của nó trong python
Tập hợp được xác định bởi mối quan hệ Has-A giữa các đối tượng
Trong UML, nó được biểu thị bằng một đường thẳng có đầu mũi tên trống ở một đầu
Bây giờ tập hợp là gì?
lớp nhân viên.
def __init__[bản thân, tên, tuổi, lương].
chính mình. tên = tên
chính mình. tuổi = tuổi
bản thân. obj_salary = lương
def total_salary[self].
tự quay lại. obj_salary. anual_salary[]
Trong lớp Employee mới này, chúng ta thấy phương thức __init__ lấy trực tiếp một đối tượng tiền lương và phương thức total_salary của lớp employee đã sử dụng đối tượng đó để lấy tiền lương hàng năm. Loại mối quan hệ này được mô tả là 'Có - một'. Nó đọc nhân viên có một mức lương. Nhưng đừng nhầm lẫn là có lương có nhân viên vì sự liên kết giữa các hạng là một chiều cũng như một chiều. Các đối tượng của các lớp này là độc lập vì chúng tồn tại một mình và có thể tồn tại ngay cả sau khi xóa một trong số chúng. Hãy xem điều này hoạt động như thế nào để thực thi mã cho tập hợp
Bây giờ chúng ta có thể thấy rằng chúng ta đã tạo một đối tượng tiền lương trước tiên và chuyển nó đến một đối tượng nhân viên. Hai đối tượng này độc lập có nghĩa là ngay cả khi đối tượng lương chết đối tượng nhân viên vẫn tồn tại và tự làm việc. Đây là tập hợp và nó khác với thành phần. Khái niệm này được áp dụng khi bạn không thực hiện kế thừa cho lớp