Sự khác biệt giữa Tóm tắt và Đóng gói Sự khác biệt giữa
bạn thực hiện các đối tượng thực tế vào các chương trình và mã. Mặc dù cả hai đi đôi với nhau, nhưng chúng rất khác nhau. Trong khi mọi phương pháp là một gói gọn, đó cũng là một sự trừu tượng. Nói một cách đơn giản, khi bạn đặt những thứ khác nhau vào nhau để tạo ra một thực thể, bạn thực sự tạo ra một khái niệm - một trừu tượng. Trong khi cả hai đều không thể tách rời về mặt kỹ thuật, chúng thực sự không có điểm chung. Gần như đúng là mọi đóng gói là một sự trừu tượng bởi vì cả hai đều che giấu điều gì đó, tuy nhiên, họ có chia sẻ công bằng về sự khác biệt của họ.
Tóm tắt là gì?
Tóm tắt là khái niệm OOP cơ bản chỉ tập trung vào dữ liệu có liên quan của một đối tượng và giấu tất cả các chi tiết không liên quan có thể hoặc không thể là đối với hành vi chung chung hoặc chuyên biệt. Nó ẩn các chi tiết nền và nhấn mạnh vào các điểm cần thiết để giảm sự phức tạp và tăng hiệu quả. Về cơ bản, trừu tượng là một công cụ lập trình để quản lý phức tạp. Sự trừu tượng tập trung vào các ý tưởng chứ không phải là các sự kiện. Nó ẩn các chi tiết về mức độ thiết kế bằng cách cung cấp chức năng cho người dùng. Đối tượng kết quả cũng có thể được gọi là trừu tượng. Các lập trình viên đảm bảo rằng các thực thể được đặt tên sẽ có tất cả các khía cạnh thiết yếu bao gồm và không ai trong số những người không liên quan.
Chúng ta hãy lấy một ví dụ trừu tượng thực tế. Hãy xem xét trường hợp của một chiếc xe, trong trường hợp này là chiếc xe của bạn. Một thợ cơ khí cố gắng sửa chữa xe của bạn hoặc hãy nói một phần cụ thể của xe của bạn. Ở đây, bạn là người dùng và bạn không muốn đi vào chi tiết cụ thể của chiếc xe của bạn hoặc những gì một phần thực sự đã phá vỡ. Bạn không thực sự quan tâm đến những điều đó; bạn chỉ muốn chiếc xe của bạn trở lại trong tình trạng ban đầu mà không phải lo lắng về các chi tiết. Vì vậy, bạn thực sự nói với thợ máy những gì bạn muốn bằng cách tách riêng phần thực hiện. Đây là trừu tượng. Bạn tập trung vào những điều thiết yếu nhất, đó là nhận được chiếc xe của bạn cố định, chứ không phải là tập trung vào các chi tiết cụ thể.
Tóm lược là gì?
Đóng gói là một khái niệm OOP khác kết hợp dữ liệu và các chức năng thành một thành phần đơn nhưng hạn chế quyền truy cập vào một số thành phần. Đây là một trong những khái niệm cơ bản của OOP, nó bao gồm dữ liệu và thông tin dưới một đơn vị duy nhất. Về mặt kỹ thuật, đóng gói có nghĩa là ẩn thuộc tính để bảo vệ các biến từ bên ngoài truy cập để thay đổi trong một phần của ứng dụng sẽ không ảnh hưởng đến các phần khác. Ngược lại, bằng cách làm cho thông tin cởi mở hơn, bạn sẽ gặp nguy cơ sử dụng sai dữ liệu. Nó cung cấp tính toàn vẹn cơ bản cho dữ liệu bằng cách bảo vệ nó khỏi thế giới bên ngoài. Nói một cách đơn giản, nó ẩn các chi tiết thêm từ thế giới bên ngoài.
Hãy lấy ví dụ về một con chuột Bluetooth.Bạn chỉ cần biết về hành vi của thiết bị mà không phải lo lắng về các chi tiết thực hiện như loại chuột cảm biến nào, không dây hay không … Mỗi chi tiết đều mô tả con chuột nhưng không phụ thuộc vào chi tiết, nó chỉ là một con chuột. Bạn chỉ cần một giao diện để sử dụng con chuột, mà trong trường hợp này là con trỏ chuột. Đây là gói gọn.
Sự khác nhau giữa trừu tượng và đóng gói
Mặc dù cả hai khái niệm cơ bản liên quan đến OOP và chúng không tương thích về mặt kỹ thuật, nhưng chúng vẫn có sự khác nhau về nhiều khía cạnh.
- Sự khác biệt trong "Định nghĩa" của việc trừu tượng và đóng gói - Tóm tắt là khái niệm OOP cơ bản nhấn mạnh vào tất cả các khía cạnh thiết yếu của một đối tượng bằng cách ẩn các chi tiết không liên quan để tăng tính hiệu quả và loại bỏ sự phức tạp. Mặt khác, đóng gói là một cơ chế ẩn dữ liệu kết hợp dữ liệu và thông tin trong một viên nang để hạn chế truy cập từ bên ngoài.
- Sự khác biệt trong "Chức năng" của việc trừu tượng và Đóng gói - Tóm tắt là một cơ chế ẩn dữ liệu làm nổi bật các tính năng thiết yếu để làm cho các chương trình phức tạp trở nên đơn giản hơn, trong khi đóng gói lại là một phương pháp ràng buộc dữ liệu và mã vào một thực thể đơn lẻ. Ý tưởng là để che giấu chi tiết thực hiện từ truy cập bên ngoài.
- Sự khác biệt trong "Triển khai" của việc trừu tượng và đóng gói - Việc trừu tượng được thực hiện bằng cách sử dụng lớp trừu tượng và giao diện, trong khi việc đóng gói được thực hiện bằng cách sử dụng các sửa đổi truy cập. Năm kiểu sửa đổi được sử dụng để đóng gói dữ liệu: Riêng tư, Công cộng, Nội bộ, Được bảo vệ và Bảo vệ Nội bộ.
- Sự khác biệt trong "Khái niệm" của Tóm tắt và Đóng gói - Ý tưởng đằng sau sự trừu tượng là tập trung vào cái gì hơn là làm thế nào. Đóng gói ẩn các cơ học nội bộ như thế nào. Ví dụ: khi lái xe, bạn biết chính xác bàn đạp phanh nhưng bạn có thể không biết toàn bộ cơ chế đằng sau nó bởi vì dữ liệu được đóng gói.
- Sự khác biệt trong "Ví dụ" về trừu tượng và đóng gói - Hãy lấy ví dụ về điện thoại thông minh. Bạn biết những gì nó làm nhưng bạn có thể không biết làm thế nào nó làm những gì nó làm. Bạn chỉ quan tâm đến màn hình hiển thị và các nút bàn phím hơn là lo lắng về mạch bên trong của nó. Ở đây, điện thoại thông minh là một trừu tượng mà các chi tiết thực hiện bên trong được đóng gói.
Sự trừu tượng so với đóng gói với bảng so sánh
Tóm lược | Đóng gói |
Chỉ đề cập đến các chi tiết có liên quan bằng cách giấu các tài liệu không liên quan để giảm tính phức tạp do đó tăng hiệu quả. | Nó kết hợp dữ liệu và thông tin vào một thực thể duy nhất để bảo vệ dữ liệu từ các nguồn bên ngoài. |
Nó đề cập đến ý tưởng ẩn dữ liệu không bắt buộc cho mục đích trình bày. | Nó ẩn dữ liệu và mã để hạn chế truy cập không mong muốn. |
Nó tập trung vào cái gì hơn là làm thế nào. | Nó giấu cơ học bên trong của nó như thế nào. |
Nó giấu các chi tiết không cần thiết về mức độ thiết kế. | Nó cũng giấu chi tiết nhưng ở cấp thực hiện. |
Thông tin và dữ liệu được tách ra khỏi các dữ liệu có liên quan. | Thông tin được giấu bên trong một viên nang để có thể tiếp cận gần. |
Nó đề cập đến ý tưởng hơn là các sự kiện. | Ý tưởng là để bảo vệ dữ liệu từ thế giới bên ngoài. |
Nó được thực hiện bằng cách sử dụng lớp trừu tượng và giao diện. | Nó được thực hiện bằng cách sử dụng các sửa đổi truy cập bảo mật, bảo mật, cá nhân và trọn gói. |
Tóm tắt
Mặc dù cả hai đều là các khái niệm OOP liên quan đến việc ẩn dữ liệu, chúng khá khác nhau. Trừu tượng cũng liên quan đến ẩn như đóng gói, nhưng trong khi trước đây ẩn sự phức tạp, thứ hai giữ các dữ liệu nó đóng gói bằng cách kiểm soát truy cập vào chúng. Trừu tượng đề cập đến khái niệm chỉ đại diện cho các tính năng cần thiết bằng cách ẩn các chi tiết không liên quan để giảm sự phức tạp của một ứng dụng do đó tăng hiệu quả. Đóng gói, mặt khác, đề cập đến khái niệm ẩn tất cả các cơ học nội bộ của một chương trình để che chắn thông tin từ truy cập không mong muốn. Nó kết hợp dữ liệu và thông tin với nhau thành một thành phần đơn lẻ bằng cách hạn chế quyền truy cập vào các thành phần khác.