Sự khác biệt chính - Tổng hợp và Thành phần trong Java
Tổng hợp là sự liên kết giữa hai đối tượng mô tả mối quan hệ “có-một”. Thành phần là loại tập hợp cụ thể hơn ngụ ý quyền sở hữu. Sự khác biệt chính giữa tập hợp và thành phần trong Java là, nếu đối tượng được chứa có thể tồn tại mà không có sự tồn tại của đối tượng sở hữu, nó là một tập hợp và nếu đối tượng được chứa không thể tồn tại mà không có sự tồn tại của đối tượng sở hữu, nó là một thành phần.
Lập trình hướng đối tượng (OOP) là một mô hình chính trong phát triển phần mềm. Nó được sử dụng để mô hình hóa phần mềm bằng cách sử dụng các đối tượng. Các đối tượng được tạo bằng cách sử dụng các lớp. Một lớp bao gồm các thuộc tính và phương thức. Có nhiều đối tượng trong phần mềm. Mỗi đối tượng cộng tác với nhau thông qua việc truyền thông điệp. Mối quan hệ giữa hai đối tượng được gọi là mối liên kết. Cả tập hợp và thành phần đều là hai kiểu liên kết. Mối quan hệ “has-a” mô tả rằng một đối tượng có thể sử dụng một đối tượng khác. Tổng hợp và thành phần có thể được thực hiện bằng các ngôn ngữ hỗ trợ OOP. Nếu đối tượng được chứa có thể tồn tại mà không có sự tồn tại của đối tượng sở hữu, thì sự liên kết giữa hai đối tượng đó là một tập hợp. Nếu đối tượng được chứa không thể tồn tại mà không có sự tồn tại của đối tượng sở hữu, thì sự liên kết giữa hai đối tượng đó là một thành phần.
Tổng hợp trong Java là gì?
Tổng hợp là một kiểu liên kết. Nếu một lớp có tham chiếu thực thể, nó được gọi là tập hợp. Tổng hợp thể hiện mối quan hệ có-một. Đối tượng Student có thể có các thuộc tính như student_id, name, address. Đối tượng này cũng có thể có một đối tượng khác được gọi là địa chỉ với thông tin riêng của nó như thành phố, tiểu bang, quốc gia. Trong tình huống này, Sinh viên có một địa chỉ tham chiếu thực thể. Đó là mối quan hệ "có-một".
Hình 01: Lớp đánh dấu
Hình 02: Chương trình chính để mô tả Tổng hợp
Theo chương trình trên, Điểm của lớp bao gồm ba thuộc tính là Toán, Tiếng Anh và Điểm Khoa học. Sinh viên có một đối tượng là Marks. Nó có các thuộc tính riêng là điểm của toán học, tiếng Anh và khoa học. Trong phương thức chính, một đối tượng Marks được tạo và gán các giá trị của mark. Đối tượng học sinh là s1 có thể sử dụng đối tượng mark là m1. Do đó, Học sinh và Điểm có mối quan hệ “có-một”. Đối tượng Marks có thể tồn tại mà không có Đối tượng Sinh viên. Do đó, nó là một tập hợp.
Thành phần trong Java là gì?
Thành phần là một kiểu liên kết. Nó là một dạng tập hợp cụ thể ngụ ý quyền sở hữu. Giả sử rằng có hai lớp được gọi là lớp A và B. Nếu đối tượng của lớp B không thể tồn tại nếu đối tượng của lớp A bị phá hủy, thì đó là một thành phần. Một cuốn sách gồm nhiều trang. Nếu cuốn sách bị phá hủy, các trang cũng sẽ bị phá hủy. Các đối tượng trang không thể tồn tại nếu không có đối tượng sách. Tham khảo chương trình bên dưới.
Hình 03: Lớp học Lớp học
Hình 04: Lớp học
Hình 05: Chương trình chính để mô tả Thành phần
Theo chương trình trên, Classroom có hai thuộc tính là name và numOfStudents. Trường học là một tập hợp các đối tượng Lớp học. Trong phương thức chính, hai đối tượng Lớp học được tạo. Chúng được thêm vào 'lớp học'. Các 'lớp học' này được chuyển cho đối tượng trường học. Cuối cùng, tên lớp học và số học sinh được in bằng cách lặp lại qua bộ sưu tập. Nếu đối tượng Trường bị phá hủy, đối tượng Lớp học cũng sẽ bị phá hủy. Đây là một ví dụ về bố cục. Nó cũng chứa mối quan hệ 'has-a' và cũng ngụ ý quyền sở hữu.
Mối quan hệ giữa Tổng hợp và Thành phần trong Java là gì?
Tổng hợp và Hợp thành là hai loại Hội và Hợp thành là một loại Hội tụ chuyên biệt. Thành phần là một tập hợp con của Tổng hợp
Sự khác biệt giữa Tổng hợp và Thành phần trong Java là gì?
Tổng hợp so với Thành phần trong Java |
|
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à một loại tổng hợp cụ thể hơn ngụ ý quyền sở hữu. |
Cách sử dụng | |
Tổng hợp được sử dụng khi một đối tượng sử dụng đối tượng khác. | Composition được sử dụng khi một đối tượng sở hữu một đối tượng khác. |
Ảnh hưởng đến Đối tượng | |
Trong tập hợp, việc hủy đối tượng sở hữu sẽ không ảnh hưởng đến đối tượng chứa. | Trong bố cục, việc phá hủy đối tượng sở hữu sẽ ảnh hưởng đến đối tượng chứa. |
Tóm tắt - Tổng hợp và Thành phần trong Java
Tổng hợp và Thành phần là hai khái niệm trong OOP. Mối quan hệ “has-a” mô tả rằng một đối tượng có thể sử dụng một đối tượng khác. Tổng hợp là sự liên kết giữa hai đối tượng mô tả mối quan hệ “có-một”. Thành phần là một loại tập hợp cụ thể hơn ngụ ý quyền sở hữu. Sự khác biệt giữa tập hợp và thành phần trong Java là, nếu đối tượng được chứa có thể tồn tại mà không có sự tồn tại của đối tượng sở hữu thì nó là một tập hợp và nếu đối tượng được chứa không thể tồn tại mà không có sự tồn tại của đối tượng sở hữu thì nó là một thành phần.