Data abstraction là gì?
- ★
- ★
- ★
- ★
- ★
Trừu tượng hóa dữ liệu (data abstraction) là quá trình lập trình tạo ra một kiểu dữ liệu (data type) thường là một lớp (class) ẩn các chi tiết của biểu diễn dữ liệu để làm cho kiểu dữ liệu dễ làm việc hơn. Trừu tượng hóa dữ liệu liên quan đến việc tạo ra một biểu diễn cho dữ liệu tách interface khỏi implementation, do đó người lập trình hoặc người dùng chỉ phải hiểu interface, các lệnh (command) để sử dụng chứ không phải cách cấu trúc bên trong của dữ liệu được biểu diễn và / hoặc triển khai (implement) như thế nào.
Trong lập trình máy tính, các kiểu dữ liệu nguyên thủy (primitive data type) của các ngôn ngữ lập trình tự nó là những thứ trừu tượng. Ví dụ kiểu dữ liệu chuỗi (string) ẩn nhiều chi tiết với người lập trình. Đầu tiên lập trình viên không cần biết cách các ký tự đơn lẻ được lưu trữ trong máy tính hoặc thậm chí cách kết hợp các ký tự với nhau để tạo thành một chuỗi. Điều này cũng đúng đối với các kiểu dữ liệu số. Lập trình viên không cần biết cách các số được lưu trữ bên trong CPU hoặc cách các toán tử số học hoạt động để thực hiện phép tính trên các số. Những chi tiết này được ẩn khỏi người lập trình thông qua tính năng trừu tượng để giúp cho việc lập trình dễ dàng và hiệu quả hơn.
- ★
- ★
- ★
- ★
- ★
Trừu tượng hóa dữ liệu (data abstraction) là một quá trình ẩn các chi tiết không mong muốn hoặc không liên quan khỏi người dùng cuối (end user).
Để hệ thống có thể sử dụng được, nó phải truy xuất dữ liệu một cách hiệu quả. Nhu cầu về tính hiệu quả đã khiến các nhà phát triển hệ quản trị cơ sở dữ liệu (database system) sử dụng các cấu trúc dữ liệu phức tạp để biểu diễn dữ liệu trong cơ sở dữ liệu (database). Vì nhiều người dùng hệ thống cơ sở dữ liệu không được đào tạo về máy tính, các nhà phát triển che giấu sự phức tạp với người dùng thông qua một số cấp độ trừu tượng hóa dữ liệu, để đơn giản hóa các tương tác của người dùng với hệ thống. Các cấp độ trừu tượng hóa như: mức vật lý (physical level), mức luận lý (logical level) và mức view (view level).
Learning English Everyday