Để thảo luận tốt hơn về hình ảnh, tôi chú thích hình ảnh của bạn với một số con số. Hy vọng điều này sẽ giúp tôi rõ ràng hơn trong văn bản của tôi.
Thực sự có ba loại dòng được sử dụng ở đây - liên kết (1), thành phần (4-> 2) và kế thừa (3).
Một đường liền mạch kết nối hai lớp, chẳng hạn như giữa Client
và BookComponent
chỉ đơn giản là mối quan hệ liên kết. Nó thường được sử dụng để chỉ ra rằng một lớp biết về (có thể như trong nhận như là một đối số cho một phương thức) hoặc có một lớp khác (có thể là một biến thể hiện). Không có bất kỳ trang trí hoặc với một mũi tên ở cả hai đầu, mối quan hệ là hai chiều - hai lớp chia sẻ mối quan hệ và biết về nhau. Trong một số trường hợp, chẳng hạn như dòng 1 trong hình, mối quan hệ là định hướng. Các Client
lớp biết về BookComponent
, nhưng điều ngược lại là không đúng sự thật như BookComponent
không có hoặc biết về Client
. Lưu ý rằng cũng có những chú thích khác có thể xuất hiện trên các mối quan hệ liên kết, chẳng hạn như bội số hoặc vai trò lớp.
Dòng tiếp theo là dòng kết nối BookComposite
với BookComponent
. Đó là một hiệp hội, giống như ranh giới giữa Client
và BookComponent
. Tuy nhiên, các chú thích tại các điểm tôi dán nhãn 2 và 4 thêm thông tin bổ sung về mối quan hệ. Dòng trong điểm 1, mũi tên ở điểm 2 có nghĩa tương tự - BookComposite
nhận thức được các BookComponent
trường hợp, nhưng không phải là cách khác (một mối quan hệ định hướng). Chú thích tại điểm 4 chỉ ra mối quan hệ tổng hợp - BookComposite
là tập hợp của BookComponent
. Tuy nhiên, đó không phải là một mối quan hệ mạnh mẽ (như mối quan hệ sáng tác mạnh mẽ), do đó, tổng hợp chỉ ra rằng một BookComponent
có thể chỉ ra ở những nơi bên ngoài BookComposite
(bạn không cần phải BookComposite
có một BookComponent
).
Một điều cần lưu ý là mũi tên được sử dụng để hiển thị các liên kết định hướng thường không phải là một mũi tên đen đặc như trong hình ảnh này. Tôi thường thấy nó là một mũi tên mở trông giống như một mũi tên v
được hiển thị trong hình ảnh của bạn.
Cuối cùng, điểm được gắn nhãn 3 là mối quan hệ thừa kế mà bạn đã đề cập trong câu hỏi của mình.
Nếu bạn quan tâm nhiều hơn về mô hình hóa UML, tôi khuyên bạn nên mua UML chưng cất . Đó là một cuốn sách hay của Martin Fowler bao gồm lớp, trình tự, đối tượng, gói, triển khai, ca sử dụng, máy trạng thái, hoạt động, giao tiếp, cấu trúc tổng hợp, thành phần, cộng tác, tổng quan tương tác và sơ đồ thời gian.