Câu hỏi phỏng vấn OOP
Câu hỏi

Sự khác biệt giữa Association, Aggregation và Composition là gì?

Câu trả lời

Sự khác biệt chính giữa Association, Aggregation và Composition trong lập trình hướng đối tượng và thiết kế UML (Unified Modeling Language) nằm ở mức độ quan hệ và sự phụ thuộc giữa các lớp.

  • Association là mối quan hệ cơ bản nhất, biểu thị một liên kết giữa hai lớp mà trong đó không có sự sở hữu hay quản lý vòng đời của đối tượng từ lớp này sang lớp kia. Các đối tượng trong một mối quan hệ association có thể tồn tại độc lập mà không phụ thuộc vào nhau. Ví dụ, một học sinh có thể liên kết với nhiều giáo viên, nhưng việc tồn tại của học sinh không phụ thuộc vào giáo viên và ngược lại[1][2].

  • Aggregation là một dạng đặc biệt của association, biểu thị mối quan hệ "có một" (has-a) giữa các lớp, nơi mà một lớp (whole) chứa hoặc tập hợp các đối tượng của lớp khác (part), nhưng với sự tồn tại độc lập; nghĩa là, sự hủy của đối tượng "whole" không dẫn đến sự hủy của đối tượng "part". Ví dụ, một lớp Điện thoại di động có thể chứa một đối tượng Pin, nhưng Pin có thể được tháo ra và sử dụng trong một điện thoại khác[1][2][4].

  • Composition là mối quan hệ mạnh mẽ nhất, biểu thị mối quan hệ "là một phần của" (part-of) giữa các lớp, nơi mà vòng đời của các đối tượng "part" được quản lý bởi đối tượng "whole"....

expert

expert

Gợi ý câu hỏi phỏng vấn

middle

Trong lập trình OOP., destructor là gì?

junior

Trong lập trình OOP, constructor là gì?

middle

"Data Encapsulation" có nghĩa là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào