Sự khác nhau giữa Encapsulation và Abstraction
Đóng gói và trừu tượng
Đóng gói và trừu tượng là hai khái niệm khác nhau nhưng có liên quan được tìm thấy trong ngôn ngữ lập trình hướng đối tượng (OOP). Tóm lược là khái niệm kết hợp dữ liệu và hành vi với nhau như một thực thể duy nhất. Mặt khác, Tóm tắt là quá trình trình bày cách một thực thể hoạt động đối với cách nó được thực hiện như thế nào.
Tóm lược là gì?
Đóng gói là quá trình gói dữ liệu và hoạt động vận hành trên chúng vào một thực thể đơn lẻ. Điều này chủ yếu có nghĩa là để truy cập dữ liệu, một số phương pháp xác định trước nên được sử dụng. Nói cách khác, dữ liệu được đóng gói không thể truy cập trực tiếp. Điều này đảm bảo rằng tính toàn vẹn của dữ liệu được bảo toàn bởi vì người dùng không thể trực tiếp truy cập và sửa đổi dữ liệu theo ý muốn của mình. Những người dùng sẽ nhận được hoặc thiết lập các giá trị dữ liệu chỉ thông qua các phương pháp được công khai có sẵn cho người dùng. Các phương pháp này thường cung cấp xác nhận dữ liệu để chỉ cho phép đưa các dữ liệu vào định dạng thích hợp vào các trường. Do đó, lợi ích của đóng gói là ba lần. Thông qua đóng gói, lập trình viên có thể làm cho các trường của một lớp chỉ đọc hoặc viết. Thứ hai, một lớp học có thể có toàn quyền kiểm soát những gì được lưu trữ trong các lĩnh vực của nó. Cuối cùng, người dùng của một lớp học không cần phải lo lắng về cách dữ liệu của nó đang được lưu trữ. Trong Java, người lập trình có thể khai báo tất cả biến cá thể là private và cung cấp các phương thức get và set (public) để truy cập và sửa đổi các trường private.
Tóm tắt là gì?
Tóm tắt là quá trình tách chi tiết bài trình bày từ các chi tiết thực hiện. Việc này được thực hiện sao cho nhà phát triển rút ngắn các chi tiết thực hiện phức tạp hơn. Thay vào đó, người lập trình có thể tập trung vào việc trình bày hoặc các chi tiết hành vi của thực thể. Nói một cách đơn giản, trừu tượng tập trung vào cách một thực thể nhất định có thể được sử dụng hơn là nó được thực hiện như thế nào. Trừu tượng về cơ bản giấu các chi tiết thực hiện, do đó ngay cả khi phương pháp thực hiện thay đổi theo thời gian, lập trình sẽ không phải lo lắng nó sẽ ảnh hưởng như thế nào đến chương trình của mình. Một hệ thống có thể được trừu tượng trong một số lớp hoặc các cấp. Ví dụ: các lớp trừu tượng cấp thấp sẽ tiết lộ chi tiết phần cứng, trong khi đó trừu tượng cấp cao sẽ chỉ tiết lộ logic kinh doanh của thực thể đó. Thuật ngữ trừu tượng có thể được sử dụng để chỉ cả một thực thể và một quá trình và điều này dẫn đến một số nhầm lẫn. Là một quá trình, trừu tượng có nghĩa là chiết xuất các chi tiết cần thiết trong khi bỏ qua các chi tiết không cần thiết của một mặt hàng hoặc một nhóm các mặt hàng, trong khi như một thực thể, trừu tượng có nghĩa là một mô hình hoặc một cái nhìn của một thực thể chỉ có các chi tiết thiết yếu.Trong Java, người lập trình có thể sử dụng từ khoá trừu tượng để tuyên bố một lớp như một thực thể trừu tượng, đại diện cho các đặc tính xác định thiết yếu của thực thể thế giới thực.
Sự khác biệt giữa Tóm lược và Tóm tắt là gì?
Mặc dù Tóm lược và Tóm tắt là các khái niệm có liên quan cao được tìm thấy trong các ngôn ngữ lập trình hướng đối tượng, chúng có những khác biệt chính. Khai thác là một kỹ thuật, giúp chúng tôi xác định những gì nên được nhìn thấy được và những gì nên được ẩn. Đóng gói là kỹ thuật để đóng gói thông tin sao cho nó hiển thị những gì cần hiển thị và ẩn những gì cần ẩn. Nói cách khác, Tóm lược có thể được xác định là một bước vượt ra ngoài trừu tượng. Trong khi việc trừu tượng làm giảm đối tượng thực tế trên các đặc điểm xác định thiết yếu của nó, việc đóng gói mở rộng ý tưởng này bằng cách mô hình hóa và liên kết các chức năng này của thực thể đó.