Dưới đây là các định nghĩa ngắn gọn về đóng gói và trừu tượng.
Trừu tượng:
Quá trình trừu tượng hóa trong Java được sử dụng để ẩn các chi tiết nhất định và chỉ hiển thị các tính năng thiết yếu của đối tượng. Nói cách khác, nó liên quan đến khung nhìn bên ngoài của một đối tượng (giao diện). Ví dụ tốt duy nhất tôi thấy cho điều này trên các trang web khác nhau là giao diện.
Đóng gói:
Về cơ bản, về việc che giấu trạng thái của đối tượng với sự trợ giúp của các sửa đổi như riêng tư, công khai, được bảo vệ, v.v. chúng tôi chỉ đưa ra các phương thức công khai thông qua trạng thái công khai nếu có yêu cầu.
Những gì chúng ta đạt được với các sửa đổi như private
, public
cũng che giấu các chi tiết không cần thiết từ thế giới bên ngoài, không có gì ngoài một khái niệm trừu tượng
Vì vậy, từ lời giải thích trên có vẻ như đóng gói là một phần của sự trừu tượng hoặc chúng ta có thể nói nó là một tập hợp trừu tượng. Nhưng tại sao sau đó thuật ngữ đóng gói được phát minh khi chúng ta chỉ có thể giải quyết nó với sự trừu tượng hóa? Tôi chắc chắn sẽ có một số khác biệt lớn để phân biệt chúng nhưng hầu hết các tài liệu trên mạng nói gần như giống nhau cho cả hai.
Mặc dù câu hỏi này đã được đưa ra trên diễn đàn này sớm hơn nhưng tôi đang đăng lại nó với những nghi ngờ cụ thể. Một số trả lời cũng cho biết trừu tượng là một khái niệm và đóng gói là thực hiện. Nhưng tôi không mua cái này - Nếu nó là sự thật, thì tôi có thể nghĩ hai khái niệm khác nhau này được cung cấp để gây nhầm lẫn cho chúng tôi.
Cập nhật: - Sau 5 năm tôi đã đưa ra câu trả lời của riêng mình, đó là ý chính dựa trên câu trả lời trong bài này và những câu dưới đây
private
public
, vì chúng chỉ cung cấp ẩn thông tin / dữ liệu mà chúng tôi thực hiện vì đó là một cách thực hành tốt để bảo vệ dữ liệu của cá thể.
An 'abstraction' (noun) is a concept that acts as a super-categorical noun for all subordinate concepts, and connects any related concepts as a group, field, or category.