Trừu tượng (công nghệ phần mềm)

Trong công nghệ phần mềm và khoa học máy tính, trừu tượng (tiếng Anh: abstraction) là:

 Quá trình loại bỏ hoặc khái quát các chi tiết vật lý, không gian hoặc thời gian hoặc thuộc tính trong nghiên cứu các đối tượng hoặc hệ thống để tập trung vào các chi tiết quan trọng hơn; nó tương tự như quá trình của khái quát;
 Quá trình tạo ra các trừu tượng khái niệm-đối tượng bằng cách phản ánh các đặc điểm hoặc thuộc tính chung của nhiều đối tượng hoặc hệ thống không trừu tượng trong nghiên cứu - kết quả của quá trình trừu tượng hóa.

Trừu tượng, nói chung, là một khái niệm cơ bản trong khoa học máy tính và phát triển phần mềm. Quá trình trừu tượng hóa cũng có thể được gọi là mô hình hóa và có liên quan chặt chẽ với các khái niệm lý thuyết và thiết kế. Mô hình cũng có thể được xem là các loại trừu tượng hóa do chúng khái quát các khía cạnh của thực tế.

Trừu tượng hóa trong khoa học máy tính có liên quan chặt chẽ với trừu tượng hóa trong toán học do cùng tập trung vào việc xây dựng các trừu tượng như các đối tượng, nhưng cũng liên quan đến các khái niệm trừu tượng khác được sử dụng trong các lĩnh vực khác như nghệ thuật.

Các trừu tượng cũng có thể liên quan đến các đối tượng và hệ thống thế giới thực, các quy tắc của hệ thống tính toán hoặc quy tắc của ngôn ngữ lập trình mang hoặc sử dụng các đặc điểm của trừu tượng hóa, chẳng hạn như:

 việc sử dụng kiểu dữ liệu để thực hiện trừu tượng hóa dữ liệu để tách biệt việc sử dụng khỏi các biểu diễn công việc của cấu trúc dữ liệu trong chương trình;
 khái niệm về thủ tục, hàm số hoặc hàm con đại diện cho một cách cụ thể để thực hiện luồng điều khiển trong các chương trình;
 các quy tắc thông thường có tên "trừu tượng" khái quát các biểu thức bằng cách sử dụng biến tự do và biến liên kết trong các phiên bản khác nhau của giải tích lambda;
 việc sử dụng S-expressions như một trừu tượng của cấu trúc dữ liệu và chương trình trong ngôn ngữ lập trình Lisp;
 quá trình tái tổ chức hành vi chung từ các lớp không trừu tượng thành các "lớp trừu tượng" bằng cách sử dụng thừa kế để trừu tượng hóa về lớp con như đã thấy trong các ngôn ngữ lập trình đối tượng C++ và Java.

Trừu tượng có thể áp dụng cho kiểm soát hoặc cho dữ liệu: trừu tượng kiểm soát (control abstraction) là trừu tượng của hành động trong khi trừu tượng dữ liệu (data abstraction) là cấu trúc dữ liệu.

Xem thêm 
 Nguyên tắc trừu tượng (lập trình máy tính)
 Kiểu dữ liệu trừu tượng
 Thuật toán
 Mô hình hóa dữ liệu
 Đóng gói (lập trình máy tính)
 Hàm thứ bậc cao
 Phép tính lambda

Tham khảo

Đọc thêm 

 
 
 Abstraction/information hiding - CS211 course, Cornell University.

Liên kết ngoài
 SimArch example of layered architecture for distributed simulation systems.

Quản trị dữ liệu
Lập trình hướng đối tượng
Trừu tượng
Khoa học máy tính