– John V. Guttag
Trong lĩnh vực công nghệ phần mềm và khoa học máy tính, trừu tượng (tiếng Anh: abstraction) được hiểu là:
- Quá trình loại bỏ hoặc khái quát các chi tiết vật lý, không gian, thời gian hoặc thuộc tính khi nghiên cứu đối tượng hoặc hệ thống, nhằm tập trung vào những yếu tố quan trọng hơn; tương tự như khái quát hóa.
- Quá trình xây dựng các khái niệm trừu tượng bằng cách phản ánh các đặc điểm chung của nhiều đối tượng hoặc hệ thống, kết quả của sự trừu tượng hóa.
Trừu tượng, nhìn chung, là một khái niệm cốt lõi 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òn được gọi là mô hình hóa và liên quan chặt chẽ đến các khái niệm lý thuyết và thiết kế. Các mô hình cũng được coi là dạng của trừu tượng hóa vì chúng tổng 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 gắn bó chặt chẽ với trừu tượng hóa trong toán học vì cả hai đều tập trung vào việc xây dựng các đối tượng trừu tượng, đồng thời cũng liên quan đến các khái niệm trừu tượng khác trong các lĩnh vực như nghệ thuật.
Các trừu tượng còn có thể liên quan đến các đối tượng và hệ thống thực tế, các quy tắc của hệ thống tính toán hoặc ngôn ngữ lập trình mang hoặc sử dụng các yếu tố của trừu tượng hóa, ví dụ:
- Việc sử dụng kiểu dữ liệu để thực hiện trừu tượng hóa dữ liệu, giúp phân tách việc sử dụng khỏi các biểu diễn cụ thể 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 các cách thức cụ thể để quản lý luồng điều khiển trong các chương trình;
- Các quy tắc thường được gọi là 'trừu tượng' giúp 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 hình thức trừu tượng cho 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ổ chức lại hành vi chung từ các lớp cụ thể thành các 'lớp trừu tượng' thông qua việc thừa kế để tạo ra các lớp con như trong các ngôn ngữ lập trình đối tượng như C++ và Java.
Trừu tượng có thể áp dụng cho việc kiểm soát hoặc dữ liệu: trừu tượng kiểm soát (control abstraction) là sự trừu tượng hóa của các hành động, trong khi trừu tượng dữ liệu (data abstraction) liên quan đến cấu trúc dữ liệu.
- Nguyên tắc trừu tượng trong 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 trong lập trình máy tính
- Hàm bậc cao
- Phép toán lambda
Thông tin trong bài viết này được lấy từ Từ điển trực tuyến miễn phí về máy tính trước ngày 1 tháng 11 năm 2008 và được cập nhật theo các điều khoản 'cấp lại giấy phép' của GFDL, phiên bản 1.3 hoặc mới hơn.
Khám phá thêm
- Harold Abelson; Gerald Jay Sussman; Julie Sussman (ngày 25 tháng 7 năm 1996). Structure and Interpretation of Computer Programs (ấn bản 2). MIT Press. ISBN 978-0-262-01153-2. Bản gốc lưu trữ ngày 26 tháng 2 năm 2009. Truy cập ngày 22 tháng 6 năm 2012.
- Spolsky, Joel (ngày 11 tháng 11 năm 2002). “The Law of Leaky Abstractions”. Joel on Software.
- Khóa học Abstraction/information hiding - CS211, Đại học Cornell.
- Eric S. Roberts (1997). Programming Abstractions in C: A Second Course in Computer Science.
- Palermo, Jeffrey (ngày 29 tháng 7 năm 2008). “The Onion Architecture”. Jeffrey Palermo.
Liên kết ngoài
- SimArch ví dụ về kiến trúc lớp cho các hệ thống mô phỏng phân tán.