Sơ đồ lớp (Class Diagram) là một loại sơ đồ cấu trúc trong UML (Unified Modeling Language) dùng để mô tả các lớp (class), thuộc tính (attributes), phương thức (methods) và mối quan hệ (relationships) giữa các lớp trong một hệ thống phần mềm.
Nó giúp các lập trình viên, kiến trúc sư phần mềm và nhóm phát triển hiểu rõ hơn về cấu trúc và tổ chức của hệ thống.
Một sơ đồ lớp bao gồm các yếu tố sau:
Trong sơ đồ lớp, các mối quan hệ giữa các lớp được thể hiện bằng các đường nối với ký hiệu khác nhau:
Loại quan hệ | Mô tả |
---|---|
Association (Liên kết) | Một lớp liên kết với một hoặc nhiều lớp khác (Ví dụ: Sinh viên và Môn học). |
Aggregation (Tập hợp) | Một lớp chứa các lớp con, nhưng các lớp con có thể tồn tại độc lập (Ví dụ: Một phòng ban có nhiều nhân viên, nhưng nhân viên có thể tồn tại mà không cần phòng ban). |
Composition (Thành phần) | Một lớp chứa các lớp con và lớp con không thể tồn tại độc lập (Ví dụ: Một chiếc xe có động cơ, động cơ không thể tồn tại nếu không có xe). |
Generalization (Kế thừa - Inheritance) | Một lớp con kế thừa thuộc tính và phương thức từ một lớp cha (Ví dụ: Lớp "Dog" kế thừa từ lớp "Animal"). |
Dependency (Phụ thuộc) | Một lớp thay đổi có thể ảnh hưởng đến lớp khác nhưng không có quan hệ chặt chẽ (Ví dụ: Một lớp "Order" phụ thuộc vào "PaymentService"). |
? Ví dụ về một giao diện trong sơ đồ lớp:
+---------------------+ | «interface» | | Animal | +---------------------+ | + makeSound(): void | +---------------------+
Một lớp "Dog" có thể thực hiện giao diện "Animal" bằng cách triển khai phương thức makeSound()
.
Giả sử bạn muốn xây dựng một hệ thống quản lý học sinh với các lớp sau:
Person
(Lớp cha)Student
(Kế thừa từ Person
)Teacher
(Kế thừa từ Person
)Course
(Môn học, có danh sách sinh viên)? Mô hình sơ đồ lớp minh họa:
+----------------+ | Person | +----------------+ | - name: string | | - age: int | +----------------+ | + getInfo() | +----------------+ ▲ │ ------------------------- | | +----------------+ +----------------+ | Student | | Teacher | +----------------+ +----------------+ | - studentID | | - teacherID | | - grade | | - subject | +----------------+ +----------------+ | + enroll() | | + teach() | +----------------+ +----------------+ +-------------------+ | Course | +-------------------+ | - courseID | | - courseName | +-------------------+ | + addStudent() | | + removeStudent() | +-------------------+
Person
là lớp cha của Student
và Teacher
.Course
có quan hệ liên kết với Student
, tức là mỗi khóa học có nhiều sinh viên.Cùng nhau học tập, khám phá các kiến thức nền tảng về Lập trình web, mobile, database nhé.
Nền tảng kiến thức - Hành trang tới tương lai hân hạnh phục vụ Quý khách!
Khám phá, trải nghiệm ngay
Vui lòng đăng nhập để gởi bình luận!
Đăng nhậpChưa có bình luận nào!