Sự khác biệt chính - Tổng hợp và Thành phần
Lập trình hướng đối tượng (OOP) là một mô hình phổ biến trong phát triển phần mềm. Đối tượng là một thể hiện của một lớp. Không thể tạo các đối tượng cùng một lúc. Cần có một bản thiết kế hoặc một bản mô tả để tạo một đối tượng. Bản thiết kế đó được gọi là một lớp. Một lớp chứa các thuộc tính và phương thức. Các đối tượng được tạo bằng cách sử dụng các lớp. Lớp và đối tượng tương tự như một kế hoạch và ngôi nhà trong thế giới thực. Không thể xây nhà nếu không có kế hoạch phù hợp. Tương tự như vậy, một lớp được sử dụng để tạo một đối tượng. Một đối tượng cộng tác với các đối tượng khác. Một liên kết với đại diện cho mối quan hệ của hai hoặc nhiều đối tượng được gọi là "liên kết". Tổng hợp và thành phần là các kiểu liên kết. Chúng mô tả mối quan hệ giữa các lớp. Bài viết này thảo luận về sự khác biệt giữa tập hợp và thành phần. Sự khác biệt chính giữa tổng hợp và thành phần là tập hợp là sự liên kết giữa hai đối tượng mô tả mối quan hệ “có mối quan hệ” và thành phần là một loại tập hợp cụ thể hơn ngụ ý quyền sở hữu.
Tổng hợp là gì?
Mối quan hệ giữa hai đối tượng được thể hiện bằng cách vẽ một đường trong Ngôn ngữ Mô hình Thống nhất (UML). Liên kết là một liên kết. UML giúp hiển thị trực quan hệ thống. Nó khác với các ngôn ngữ lập trình thông thường. Hiệp hội cũng xác định tính đa dạng của các đối tượng. Chúng là một-một, một-nhiều và nhiều-nhiều. Khi một đối tượng duy nhất của lớp A được liên kết với đối tượng duy nhất của lớp B, đó là mối quan hệ một-một. Một ví dụ là một tác giả viết sách. Trong ví dụ đó, một tác giả đang viết sách.
Khi một đối tượng của lớp A được liên kết với nhiều đối tượng của lớp B, nó là mối quan hệ một-nhiều. Một ví dụ là, một bộ phận có thể có nhiều nhân viên. Khi đối tượng của lớp A được liên kết với nhiều đối tượng của lớp B và một đối tượng của lớp B được liên kết với nhiều đối tượng của lớp A, nó là một liên kết nhiều-nhiều. Một ví dụ là, một nhân viên có thể làm việc trên nhiều dự án và một dự án có thể có nhiều nhân viên.
Aggregation là kiểu liên kết mô tả thêm mối quan hệ giữa các đối tượng. Tổng hợp mô tả mối quan hệ "có mối quan hệ". Một số ví dụ mô tả mối quan hệ là, một học sinh “có” mã số học sinh, một chiếc xe “có động cơ”. Cũng có thể mở rộng số lượng lớn với mối quan hệ. Một số ví dụ là, một ngân hàng “có nhiều” tài khoản ngân hàng, một lớp học “có nhiều” sinh viên. Nó có thể được giải thích bằng cách sử dụng ví dụ dưới đây.
Hình 01: Tổng hợp
Theo ví dụ trên, lớp học bao gồm một học sinh hoặc nhiều học sinh. Tính đa dạng cũng được sử dụng để chỉ số lượng các đối tượng. Nó mô tả rằng một lớp học có nhiều học sinh. Biểu tượng của viên kim cương đại diện cho tập hợp trong UML. Đối tượng sinh viên không dựa vào đối tượng lớp. Nếu đối tượng lớp bị hủy, nó sẽ không ảnh hưởng đến các đối tượng học sinh. Những đối tượng đó sẽ vẫn tồn tại.
Thành phần là gì?
Thành phần là một dạng tổng hợp cụ thể hơn. Nó mô tả quyền sở hữu. Nó có thể được giải thích bằng cách sử dụng ví dụ dưới đây.
Hình 02: Thành phần
Theo như trên, đối tượng sách bao gồm đối tượng trang hoặc các trang. Tính đa dạng cũng được sử dụng để chỉ số lượng các đối tượng. Nó mô tả rằng một lớp học có nhiều học sinh. Biểu tượng viên kim cương được tô sáng đại diện cho thành phần trong UML. Như cuốn sách có một trang hoặc nhiều trang, nó là một tập hợp, nhưng nó được cụ thể hóa hơn. Nếu đối tượng sách bị phá hủy, thì các đối tượng trang cũng bị phá hủy. Đối tượng trang không thể tồn tại nếu không có đối tượng sách. Do đó, thành phần là một dạng tổng hợp cụ thể hơn ngụ ý quyền sở hữu.
Điểm giống nhau giữa Tổng hợp và Thành phần là gì?
- Cả hai đều được sử dụng trong Lập trình Hướng đối tượng.
- Cả hai đều được sử dụng trong Ngôn ngữ tạo mô hình thống nhất (UML) để hiểu trực quan về hệ thống.
Sự khác biệt giữa Tổng hợp và Thành phần là gì?
Tổng hợp so với Thành phần |
|
Tổng hợp là sự liên kết giữa hai đối tượng mô tả mối quan hệ "có mối quan hệ". | Thành phần là kiểu tổng hợp cụ thể nhất ngụ ý quyền sở hữu. |
Ký hiệu UML | |
Tổng hợp được biểu thị bằng một viên kim cương. | Thành phần được biểu thị bằng một viên kim cương được đánh dấu. |
Chức năng | |
Trong tập hợp, nếu đối tượng sở hữu bị phá hủy, nó sẽ không ảnh hưởng đến đối tượng chứa. | Trong bố cục, nếu đối tượng sở hữu bị phá hủy, nó sẽ ảnh hưởng đến đối tượng chứa. |
Tóm tắt - Tổng hợp và Thành phần
Lập trình hướng đối tượng là một mô hình chính trong phát triển phần mềm. Trong OOP, hệ thống được mô hình hóa bằng cách sử dụng các đối tượng. Những đối tượng này không tồn tại biệt lập. Đối tượng cộng tác với các đối tượng khác. Mối quan hệ giữa các đối tượng được gọi là sự liên kết. Tập hợp và thành phần là các kiểu liên kết. Sự khác biệt giữa tập hợp và thành phần là tập hợp là sự liên kết giữa hai đối tượng mô tả mối quan hệ “có mối quan hệ” và thành phần là kiểu tập hợp cụ thể hơn ngụ ý quyền sở hữu. Tổng hợp và thành phần đều giúp hiểu được hoạt động của hệ thống.
Tải xuống phiên bản PDF của Sự tổng hợp và Thành phần
Bạn có thể tải xuống phiên bản PDF của bài viết này và sử dụng nó cho mục đích ngoại tuyến theo ghi chú trích dẫn. Vui lòng tải xuống phiên bản PDF tại đây Sự khác biệt giữa Tổng hợp và Thành phần