Sự khác biệt giữa đóng gói và trừu tượng

Sự khác biệt giữa đóng gói và trừu tượng
Sự khác biệt giữa đóng gói và trừu tượng

Video: Sự khác biệt giữa đóng gói và trừu tượng

Video: Sự khác biệt giữa đóng gói và trừu tượng
Video: Bài 1: tìm hiểu website là gì|sự khác nhau giữa website và trang web 2024, Tháng bảy
Anonim

Đóng gói và Tóm tắt

Đóng gói và Trừu tượng là hai khái niệm khác nhau nhưng có liên quan với nhau được tìm thấy trong ngôn ngữ OOP (Lập trình hướng đối tượng). Đóng gói 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, Trừu tượng hóa là quá trình trình bày cách một thực thể hoạt động / trông trái ngược với cách nó được triển khai.

Encapsulation là gì?

Đóng gói là quá trình gói dữ liệu và hoạt động vận hành chúng vào một thực thể duy nhất. Về cơ bản, điều này có nghĩa là để truy cập dữ liệu, nên sử dụng một số phương pháp xác định trước. 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 vì người dùng không thể truy cập trực tiếp và sửa đổi dữ liệu theo ý muốn. Người dùng sẽ chỉ nhận hoặc đặt các giá trị dữ liệu thông qua các phương pháp được công bố công khai cho người dùng. Các phương pháp này thường cung cấp xác thực dữ liệu để chỉ dữ liệu ở định dạng thích hợp mới được phép chèn vào các trường. Do đó, lợi ích của Encapsulation là gấp ba lần. Thông qua Encapsulation, 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 chỉ ghi. Thứ hai, một lớp có thể có toàn quyền kiểm soát những gì được lưu trữ trong các trường của nó. Cuối cùng, người dùng của một lớp không cần phải lo lắng về cách dữ liệu của nó được lưu trữ. Trong Java, lập trình viên có thể khai báo tất cả biến cá thể là riêng tư và cung cấp các phương thức get và set (công khai) để truy cập và sửa đổi các trường riêng tư.

Trừu tượng là gì?

Trừu tượng hóa là quá trình tách các chi tiết trình bày ra khỏi các chi tiết thực hiện. Điều này được thực hiện để nhà phát triển giảm bớt các chi tiết triển khai phức tạp hơn. Thay vào đó, lập trình viên có thể tập trung vào bản 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 dễ hiểu, sự 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à cách nó được triển khai. Về cơ bản, trừu tượng ẩn đi các chi tiết triển khai, do đó, ngay cả khi phương pháp thực hiện thay đổi theo thời gian, lập trình viên sẽ không phải lo lắng nó sẽ ảnh hưởng đến chương trình của mình như thế nào. Một hệ thống có thể được trừu tượng hóa trong một số lớp hoặc nhiều 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 nghiệp vụ 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 quy trình, trừu tượng có nghĩa là trích xuất các chi tiết thiết yếu trong khi bỏ qua các chi tiết không cần thiết của một mục hoặc một nhóm các mục, trong khi với tư cách là 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, lập trình viên có thể sử dụng từ khóa trừu tượng để khai báo một lớp như một thực thể trừu tượng, đại diện cho các đặc điểm xác định cơ bản của một thực thể trong thế giới thực.

Sự khác biệt giữa Encapsulation và Abstraction là gì?

Mặc dù Đóng gói và Trừu tượng là những khái niệm có liên quan nhiều đến các ngôn ngữ Lập trình Hướng đối tượng, nhưng chúng có những điểm khác biệt chính. Trừu tượng là một kỹ thuật, giúp chúng ta xác định những gì nên hiển thị và những gì nên ẩn. Đóng gói là các kỹ thuật để đóng gói thông tin sao cho nó hiển thị những gì nên hiển thị và ẩn những gì nên ẩn. Nói cách khác, Encapsulation có thể được xác định là một bước vượt quá trừu tượng. Trong khi tính trừu tượng làm giảm một đối tượng trong thế giới thực về các đặc điểm xác định cơ bản của nó, thì tính đóng gói mở rộng ý tưởng này bằng cách mô hình hóa và liên kết chức năng này của thực thể đó.

Đề xuất: