Hình 7-2 cho thấy một sơ đồ lớp cho một lớp có tên sản phẩm. Biểu đồ này
sử dụng ngôn ngữ Unified Modeling (JJML), một ngôn ngữ mô hình mà đã trở thành
tiêu chuẩn công nghiệp để làm việc với tất cả các ngôn ngữ lập trình hướng đối tượng
bao gồm cả Java.
Trong sơ đồ lớp này, lớp chứa ba lĩnh vực và bảy phương pháp.
Ở đây, dấu trừ (-) xác định các lĩnh vực và phương pháp mà chỉ sẵn có
trong lớp hiện tại, trong khi các dấu cộng (+) xác định các lĩnh vực và phương pháp
có sẵn cho các lớp khác.
trong trường hợp này, tất cả các phương pháp có sẵn để các lớp khác, nhưng không ai của
các trường là. Tuy nhiên, các phương pháp làm cho các dữ liệu được lưu trữ bởi các trường có sẵn để
các lớp khác. Ví dụ, phương pháp getCode trả về giá trị được lưu trữ trong các
lĩnh vực mã, và các phương pháp setCode gán một giá trị mới vào trường mã.
Điều này minh họa các khái niệm về đóng gói, mà là một cơ bản
khái niệm về lập trình hướng đối tượng. Điều này có nghĩa rằng các lập trình viên có thể
che giấu, hoặc đóng gói, một số lĩnh vực và phương thức của một lớp, trong khi tiếp xúc người khác.
Kể từ khi các lĩnh vực (hoặc dữ liệu) của một lớp học thường được đóng gói trong một lớp học,
đóng gói được đôi khi được gọi là dữ liệu ẩn.
Khi bạn sử dụng một lớp học, đóng gói cho phép bạn nghĩ về nó như một hộp đen mà
cung cấp các lĩnh vực và phương pháp hữu ích. Khi bạn sử dụng các phương pháp parselnt của
lớp Integer, ví dụ, bạn không biết làm thế nào phương pháp chuyển đổi một chuỗi thành
một số nguyên, và bạn không cần phải biết. Tương tự như vậy, nếu bạn sử dụng các getPrice
phương thức của lớp sản phẩm trong hình này, bạn không biết làm thế nào phương thức
hoạt động, và bạn không cần phải biết.
Điều này cũng có nghĩa là bạn có thể thay đổi mã cho một phương thức trong một lớp học
mà không ảnh hưởng đến các lớp có sử dụng phương pháp này. Ví dụ, bạn có thể thay đổi
các mã cho phương thức getPrice mà không thay đổi các lớp học mà sử dụng
phương pháp. Điều này làm cho nó dễ dàng hơn để nâng cấp hoặc cải thiện ứng dụng bởi vì bạn
chỉ cần thay đổi các lớp học cần nâng cấp.
đang được dịch, vui lòng đợi..