Tính trừu tượng trong OOP là một khái niệm quan trọng nhưng nhiều người vẫn thường hiểu sai về nó. Bài viết sau sẽ trình cho bạn một số thông tin bạn nên biết về tính chất này.

Đang xem: Tính trừu tượng là gì

Tổng quan về Tính trừu tượng

Khái niệm

Tính trừu tượng (Abstraction) là một trong bốn tính chất cơ bản của Lập trình hướng đối tượng (Object-oriented programming – viết tắt là OOP). Các tính chất còn lại bao gồm: Tính đóng gói (Encapsulation), Tính kế thừa (Inheritance) và Tính đa hình (Polymorphism).

Hiểu đơn giản, Tính trừu tượng dùng để chỉ quá trình ẩn việc triển khai thực tế của một ứng dụng khỏi người dùng. Thay vào đó, lập trình viên chỉ nhấn mạnh vào cách sử dụng ứng dụng.

Mục đích

Thông qua Tính trừu tượng, lập trình viên có thể ẩn tất cả dữ liệu hoặc quy trình không liên quan của ứng dụng. Đối với người dùng, đó chỉ là những chi tiết không cần thiết. Từ đó, ta có thể để giảm độ phức tạp và tăng hiệu quả sử dụng của phần mềm.

Có thể xem Tính trừu tượng là một phần mở rộng của Tính đóng gói. Bạn có thể tìm hiểu thêm về Tính đóng gói để hiểu rõ hơn về hai thuộc tính này.

*

Một số lợi ích của Tính trừu tượng có thể kể đến là:

Giao diện người dùng đơn giản, cấp cao.Các đoạn mã phức tạp bị ẩn đi.Nâng cao vấn đề bảo mật, bảo vệ dự liệu không bị lộ.Việc bảo trì phần mềm dễ dàng hơn.Việc cập nhật hay thay đổi mã sẽ rất ít khi ảnh hưởng đến Tính trừu tượng.

Minh họa về Tính trừu tượng

Tính trừu tượng trong đời sống

Trừu tượng là một khái niệm khá phổ biến trong thực tế. Nó xuất hiện trong nhiều lĩnh vực như hội họa, kiến trúc hay thiết kế,…

Chẳng hạn, một chiếc xe hoạt động cần rất nhiều bộ phận bên trong làm việc, nhưng tất cả những thông tin đó không cần thiết với người lái. Người lái chỉ cần sử dụng những công cụ như: bàn đạp ga, phanh, vô lăng, đèn nháy. Các kỹ thuật phức tạp đều được ẩn khỏi trình điều khiển. Nghĩa là bạn chỉ cần biết cách lái xe, chứ không cần quan tâm những chi tiết về cách thức động cơ hoạt động.

Tương tự, có rất nhiều cách để máy tính của bạn kết nối với một mạng cục bộ, như Ethernet, Wi-Fi, modem quay số,… Tuy nhiên, trình duyệt Web không phải bận tâm đến việc bạn dùng mạng nào, bởi vì các phần mềm sẽ cung cấp một khái niệm trừu tượng chung để trình duyệt hiểu. Trong trường hợp này, “kết nối mạng” là sự trừu tượng, còn Ethernet và Wi-Fi,… là những triển khai cho sự trừu tượng đó.

Tính trừu tượng trong OOP

Trong Python, một lớp chứa một hoặc nhiều phương thức trừu tượng được gọi là lớp trừu tượng. Còn các phương thức trừu tượng không chứa bất kỳ lệnh triển khai (implements) nào. Thay vào đó, tất cả các lệnh triển khai có thể được định nghĩa trong các phương thức của lớp con kế thừa lớp trừu tượng.

Xem thêm: Ngày Mùa Hạ: Hướng Dẫn Cài Đặt Bootrom Csm Boot Mới Nhất, Hướng Dẫn Cài Đặt Bootrom Csmboot

Sau đây là một ví dụ về Tính trừu tượng trong OOP được viết theo ngôn ngữ lập trình Python:

*

Minh họa về Tính trừu tượng của ngôn ngữ Python.

Từ đoạn mã trên, chúng ta thấy lớp “Shape” sẽ kế thừa lớp “ABC”. Trong trường hợp này, lớp “Shape” được gọi là lớp trừu tượng. Chúng ta sẽ tiếp tục định nghĩa các phương thức trừu tượng bên trong nó.

Cụ thể, “Calcul_area” chính là phương thức trừu tượng của “Shape”. Như đã nói ở trên, phương thức trừu tượng không cần phải thêm mã mới, mà chỉ cần dùng lệnh “pass”.

Các loại hình trừu tượng trong OOP

Trong OOP, có hai loại trừu tượng là: Trừu tượng hóa dữ liệu (Data Abstraction) và Trừu tượng hóa quy trình (Process Abstraction).

Trừu tượng hóa dữ liệu

Khi dữ liệu của đối tượng không hiển thị ra bên ngoài, thì đó gọi là Trừu tượng hóa dữ liệu. Nếu cần, lập trình viên có thể cấp quyền truy cập vào dữ liệu của đối tượng bằng nhiều cách. Thông thường họ sử dụng một số phương thức, chẳng hạn như get, set.

Trừu tượng hóa quy trình

Lập trình viên không cần phải cung cấp chi tiết về tất cả các chức năng khác nhau của một đối tượng. Khi họ ẩn việc triển khai nội bộ của các chức năng liên quan đến hoạt động của người dùng, đó gọi là Trừu tượng hóa quy trình.

*

Một điểm lưu ý cuối cùng, đó là tùy vào mỗi ngôn ngữ mà Tính trừu tượng sẽ khác nhau. Khi sử dụng ngôn ngữ nào, bạn cần nghiên cứu kỹ về Tính trừu tượng của ngôn ngữ đó. Hy vọng qua bài viết này, các bạn đã hiểu rõ hơn về Tính trừu tượng trong OOP.

Xem thêm: Dịch Sang Tiếng Anh Khăn Quàng Cổ Tiếng Anh Là Gì, Khăn Quang Cổ

Tham khảo: Journaldev.com

Nếu bạn quan tâm, hãy xem các vị trí đang tuyển dụng của Got It tại: bit.ly/gotit-hanoi và đọc thêm về quy trình tuyển dụng tại đây.

Leave a Reply

Your email address will not be published. Required fields are marked *