Ví dụ về Abtraction (Trừu tượng) trong Lập Trình Hướng Đối Tượng

Ngày đăng: 02/05/2019   -    Cập nhật: 13/05/2019

Abtraction (Trừu tượng) là gì trong Lập trình hướng đối tượng (OOP)

Trừu tượng hóa (Abtraction) là chọn dữ liệu từ một nhóm lớn hơn để chỉ hiển thị các chi tiết có liên quan đến đối tượng.

Nó giúp giảm sự phức tạp và công sức khi lập trình.

Trong Java, sự trừu tượng hóa được thực hiện bằng cách sử dụng các Class và Interface Trừu tượng (Abtract Interfaces). Đây là một trong những khái niệm quan trọng nhất của OOP.


Ví dụ Abstraction trong Lập trình hướng đối tượng Java

Ví dụ Abstraction trong Lập trình hướng đối tượng Java

Hiểu về Khái niệm Abtraction bằng Ví dụ

Giả sử bạn muốn tạo một ứng dụng ngân hàng và bạn được yêu cầu thu thập tất cả thông tin về khách hàng của bạn.

Có nhiều khả năng bạn sẽ đưa ra thông tin sau đây về khách hàng:

Ví dụ về Abstraction trong lập trình hướng đối tượng Java với Ứng dụng Ngân hàng

Ví dụ về Abstraction trong lập trình hướng đối tượng Java với Ứng dụng Ngân hàng


Nhưng, không phải tất cả các thông tin trên là bắt buộc để tạo một ứng dụng ngân hàng. 

Vì vậy, bạn chỉ cần chọn thông tin hữu ích cho ứng dụng ngân hàng của mình từ nhóm đó. Dữ liệu như tên, địa chỉ, thông tin thuế, v.v ... có ý nghĩa đối với ứng dụng ngân hàng.


Ví dụ về Ứng dụng Ngân hàng sau khi áp dụng Abstraction

Ví dụ về Ứng dụng Ngân hàng sau khi áp dụng Abstraction

Vì chúng ta đã tìm nạp / xóa / chọn thông tin khách hàng từ một nhóm lớn hơn, quá trình này được gọi là Trừu tượng hóa. 

Tuy nhiên, thông tin tương tự sau khi được trích xuất có thể được sử dụng cho nhiều ứng dụng. Chẳng hạn, bạn có thể sử dụng cùng một dữ liệu cho ứng dụng bệnh viện, ứng dụng cổng thông tin việc làm, cơ sở dữ liệu của Chính phủ, v.v ... với rất ít hoặc không sửa đổi.

Do đó, nó trở thành dữ liệu chính của bạn. Đây là một lợi thế của Trừu tượng.

Làm thế nào để đạt được sự trừu tượng (Abstract)?

Ở cấp độ cao hơn, Trừu tượng là một quá trình ẩn các chi tiết triển khai và chỉ hiển thị chức năng cho người dùng.

Nó chỉ cho biết những điều quan trọng đối với người dùng và ẩn các chi tiết bên trong, tức là. Trong khi gửi SMS, bạn chỉ cần nhập văn bản và gửi tin nhắn.

Ở đây, bạn không quan tâm đến việc xử lý nội bộ của việc gửi tin nhắn. Sự trừu tượng hóa có thể đạt được bằng cách sử dụng Abtract Class và Abtract Method trong Java.

Abstract Class (Lớp trừu tượng)

Một class được khai báo là "abstract", được gọi là abstract class. Nó có thể có abstract method cũng như các method cụ thể. Một class bình thường không thể có các abstract method.

Abstract Method (Phương thức trừu tượng)

Một method không có body được gọi là abstract method. Nó phải được khai báo trong một class trừu tượng. Phương thức trừu tượng sẽ không bao giờ là cuối cùng vì lớp trừu tượng phải thực hiện tất cả các phương thức trừu tượng.

Quy tắc của phương thức trừu tượng

  • Các phương thức trừu tượng không có triển khai (implementation). Nó chỉ có method signature
  • Nếu một class đang sử dụng một phương thức trừu tượng thì chúng phải được khai báo là trừu tượng. Điều ngược lại không thể đúng. Điều này có nghĩa là một class trừu tượng không nhất thiết phải có một phương thức trừu tượng.
  • Nếu một class thông thường extend một class trừu tượng, thì class đó phải thực hiện tất cả các phương thức trừu tượng của class trừu tượng mà nó extend

Sự khác biệt giữa Trừu tượng (abtraction) và Đóng gói (Encapsulation)


Sự khác biệt giữa Abstraction và Encapsulation

Sự khác biệt giữa Abstraction và Encapsulation

Sự khác biệt giữa lớp trừu tượng (Abstract Class) và Interface


Sự khác biệt giữa Abstract Class và Interface

Sự khác biệt giữa Abstract Class và Interface

Ưu điểm của trừu tượng

  • Lợi ích chính của việc sử dụng một lớp trừu tượng là nó cho phép bạn nhóm một số lớp liên quan như anh chị em.
  • Trừu tượng giúp giảm độ phức tạp của quá trình thiết kế và triển khai phần mềm.

Khi nào nên sử dụng Phương thức trừu tượng (abstract method) và Lớp trừu tượng (abstract class)?


Sử dụng Phương thức trừu tượng khi: Các phương thức trừu tượng được khai báo trong đó hai hoặc nhiều lớp con cũng đang làm điều tương tự theo các cách khác nhau thông qua các triển khai khác nhau.

Nó cũng extend cùng một lớp Trừu tượng và cung cấp các triển khai khác nhau của các phương thức trừu tượng.


Sử dụng lớp trừu tượng khi: Các lớp trừu tượng giúp mô tả các loại hành vi chung và phân cấp lớp lập trình hướng đối tượng. Nó cũng mô tả các lớp con để cung cấp chi tiết thực hiện của lớp trừu tượng.

Tổng kết về Abstract

  • Trừu tượng (Abstract) là quá trình chọn các bộ dữ liệu quan trọng cho một Đối tượng trong phần mềm của bạn và loại bỏ các dữ liệu không đáng kể.
  • Một khi bạn đã mô hình hóa đối tượng của mình bằng cách sử dụng Trừu tượng, cùng một bộ dữ liệu có thể được sử dụng trong các ứng dụng khác nhau.
  • Java sự trừu tượng hóa được thực hiện bằng cách sử dụng các lớp và giao diện Trừu tượng. Chúng ta sẽ nghiên cứu chi tiết về các lớp và giao diện trừu tượng trong các hướng dẫn tiếp theo.

Note: Đừng cố gắng hiểu Abstract khi mới đến bài viết này. Ở đây mình đưa ra để trước tiên bạn nhận định là chúng ta sẽ sử dụng Abstract trong lập trình Java. Qua những bài tiếp theo, đến với các ví dụ cụ thể thì hay quay lại đây để nghiệm lại các thông tin, lúc đó nó sẽ củng cố và chứng minh những gì viết trong bài viết này.

 
>>> Tại NIIT - ICT Hà Nội, chúng tôi giải quyết rất chi tiết vấn đề Abstract trong khóa học dạy lập trình Java. Đăng ký ngay nếu bạn muốn hiểu rõ về Abstract và làm được việc với Abstract.


Bình luận Facebook
Cùng danh mục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!