• Trang Chủ
  • Lập Trình

    WordPress Update: What’s New and Why You Should Upgrade

    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Xu hướng phát triển thị trường bất động sản 

    Bán hàng qua app di động giúp ích gì cho việc kinh doanh của bạn? 

    Lập trình di động và tốc độ tải của thiết bị 3G

    Lập trình di động và tốc độ tải của thiết bị 3G

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

  • Công Nghệ
  • Tool

    WordPress Update: What’s New and Why You Should Upgrade

    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Xu hướng phát triển thị trường bất động sản 

    Bán hàng qua app di động giúp ích gì cho việc kinh doanh của bạn? 

    Lập trình di động và tốc độ tải của thiết bị 3G

    Lập trình di động và tốc độ tải của thiết bị 3G

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Trending Tags

    • Tài Liệu
    • Việc Làm

      WordPress Update: What’s New and Why You Should Upgrade

      Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

      Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

      Top 9 ứng dụng xem phim hoạt hình tốt nhất

      Top 9 ứng dụng xem phim hoạt hình tốt nhất

      Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

      Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

      Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

      Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

      Xu hướng phát triển thị trường bất động sản 

      Bán hàng qua app di động giúp ích gì cho việc kinh doanh của bạn? 

      Lập trình di động và tốc độ tải của thiết bị 3G

      Lập trình di động và tốc độ tải của thiết bị 3G

      Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

      Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    • Blog
    • Trang Chủ
    • Lập Trình

      WordPress Update: What’s New and Why You Should Upgrade

      Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

      Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

      Top 9 ứng dụng xem phim hoạt hình tốt nhất

      Top 9 ứng dụng xem phim hoạt hình tốt nhất

      Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

      Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

      Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

      Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

      Xu hướng phát triển thị trường bất động sản 

      Bán hàng qua app di động giúp ích gì cho việc kinh doanh của bạn? 

      Lập trình di động và tốc độ tải của thiết bị 3G

      Lập trình di động và tốc độ tải của thiết bị 3G

      Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

      Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    • Công Nghệ
    • Tool

      WordPress Update: What’s New and Why You Should Upgrade

      Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

      Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

      Top 9 ứng dụng xem phim hoạt hình tốt nhất

      Top 9 ứng dụng xem phim hoạt hình tốt nhất

      Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

      Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

      Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

      Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

      Xu hướng phát triển thị trường bất động sản 

      Bán hàng qua app di động giúp ích gì cho việc kinh doanh của bạn? 

      Lập trình di động và tốc độ tải của thiết bị 3G

      Lập trình di động và tốc độ tải của thiết bị 3G

      Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

      Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

      Trending Tags

      • Tài Liệu
      • Việc Làm

        WordPress Update: What’s New and Why You Should Upgrade

        Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

        Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

        Top 9 ứng dụng xem phim hoạt hình tốt nhất

        Top 9 ứng dụng xem phim hoạt hình tốt nhất

        Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

        Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

        Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

        Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

        Xu hướng phát triển thị trường bất động sản 

        Bán hàng qua app di động giúp ích gì cho việc kinh doanh của bạn? 

        Lập trình di động và tốc độ tải của thiết bị 3G

        Lập trình di động và tốc độ tải của thiết bị 3G

        Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

        Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

      • Blog
      Trang Chủ Lập Trình

      Tính trừu tượng trong OOP là gì ? Khác gì với Interface

      ATP Bởi ATP
      05/06/2022
      Trong Lập Trình
      0
      Tính trừu tượng trong OOP là gì ? Khác gì với Interface

      Tính trừu tượng trong OOP là một định nghĩa quan trọng mặc dù vậy nhiều người vẫn thường hiểu sai về nó. Bài content 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.

      Mục Lục

      Toggle
      • Tổng quan về Tính trừu tượng trong OOP
        • Khái niệm
        • Mục đích
        • Ý nghĩa
      • Hiểu về khái niệm Abtraction bằng VD
      • 3. Sự khác nhau giữa abstract & interface
        • Khi nào dùng abstract
        • Khi nào sử dụng interface
      • Kết

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

      Khái niệm

      Tính trừu tượng (Abstraction) là một trong bốn thuộc tính 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 dễ dàng, Tính trừu tượng dùng để chỉ quá trình ẩn việc khai triển thực tế của một phần mềm khỏi người sử dụng. Thay vào đó, lập trình viên chỉ nhấn mạnh vào cách dùng phần mềm.

      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 phần mềm. Đối với người dùng, đấy chỉ là những chi tiết không cần thiết. Từ đó, ta có thể để giảm độ phức tạp & tăng hiệu quả dùng của ứng dụng.

      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 hơn về hai thuộc tính này.

      Tính trừu tượng trong OOP dùng để ẩn những chi tiết không cần thiết của ứng dụng khỏi người dùng (Nguồn: Unsplash)

      Tính trừu tượng trong OOP sử dụng để ẩn những chi tiết không quan trọng của phần mềm khỏi người dùng (Nguồn: Unsplash)

      >>> Xem thêm: Lập trình viên có khó không và những điều cần biết

      Ý nghĩa

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

      • Giao diện người sử 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ì ứng dụng đơn giản hơn.
      • Việc cập nhật hay thay đổi mã sẽ gần như không có khi ảnh hưởng đến Tính trừu tượng.

      Hiểu về khái niệm Abtraction bằng VD

      Giả sử bạn ước muốn tạo một phần mềm 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 năng lực bạn có thể đư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 phần mềm Ngân hàng

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

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

      Ví dụ về Ứng dụng Ngân hàng sau khi áp dụng AbstractionVD về ứng dụng Ngân hàng một 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, quy trình này có cách gọi khác là Trừu tượng hóa.

      Nhưng, thông tin tương tự sau khi được trích xuất có thể được dùng cho nhiều ứng dụng. Chẳng hạn, bạn sẽ sử dụng cùng một dữ liệu cho phần mềm 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.

      Vì lẽ đó, 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.

      >>> Xem thêm: Các tính chất của OOP [Lập trình hướng đối tượng] mới nhất 2020

      3. Sự khác nhau giữa abstract & interface

      Bảng dưới đây sẽ giúp các em có cái nhìn rõ hơn về sự không giống nhau giữa abstract và interface. Khi nào thì chúng ta nên dùng abstract hoặc interface cho hợp lý

      Các điểm so sánhAbstractInterface
      Đa kế thừaKhông hỗ trợ đa kế thừaMột class có thể kế thừa nhiều Interface
      Default (mặc định)Có thể khái niệm tính chất , và thân phương thức có thể chứa codechỉ chứa hằng số , không có code trong phần thân method
      Access Modifiercó thể đặt toàn bộ modifierMọi phương thức và tính chất là public
      Mục đích sử dụngIS A (quan hệ cha con)HAS A (Can do, có năng lực làm được việc gì)

      Khi nào dùng abstract

      • Khả năng mở rộng không cần xoá hết code làm lại.
      • Tăng tính bảo mật che dấu các dữ liệu quan trọng
      • Khi các lớp có mối liên hệ cha con với nhau Ví dụ như con gà , chó , mèo chúng đều là động vật (Animal)

      Khi nào sử dụng interface

      • Mục đích chính của interface là sử dụng cho tính đa hình. năng lực thực hiện các hành động không giống nhau trên các ngữ cảnh không giống nhau.
      • Chúng ta muốn các lớp không liên quan với nhau liên kết lại với nhau. Anh Ví dụ như mình có cách thức thanh toán HSBC , mình có thanh toán Vietcombank . 2 Class này hoàn toàn không liên quan gì với nhau. VD như trong phần mềm của anh. Anh ước muốn hỗ trợ người dùng cả 2 cách thức thanh toán, có nghĩa là nếu họ có tài khoản bên HSBC họ có thể thực hiện giao dịch thanh toán , chuyển khoản bên Vietcombank. Để thực hiện được việc đấy thì 2 class HSBC & Vietcombank phải nói chuyện được với nhau, có nghĩa là 2 class đấy phải có cùng một điểm chung. Thì lúc này anh sẽ tạo ra một Interface là Payment. Sau đó HSBC & Vietcombank cùng implements nó. Như vậy 2 cái đấy sẽ có một điểm chung phải có thể nói chuyện được với nhau.
      • Chúng ta ước muốn chú trọng vào hành động hơn về cấu trúc đối tượng.
      • Chúng ta muốn sử dụng đa thừa kế.
      • Tăng cường tính bảo mật . Người dùng chỉ có thể thấy được method thế nhưng không thấy được nội dung code bên trong

      Kết

      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 phải cần nghiên cứu kỹ về Tính trừu tượng của ngôn ngữ đấy. 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.

      Nhật Minh – Tổng hợp và bổ sung

      Nguồn: vn.got-it.ai, niithanoi.edu.vn, levunguyen.com

      Tags: tính trừu tượng trong OOP
      Bài Viết Trước

      Sử dụng CDN để nâng cao hiệu suất cho website – Bizfly Cloud

      Bài Viết Tiếp Theo

      Tính đa hình trong OOP là gì và những điều cần biết

      Bài Viết Tiếp Theo
      Tính đa hình trong OOP là gì và những điều cần biết

      Tính đa hình trong OOP là gì và những điều cần biết

      Bình luận về chủ đề post

      CODER

      Cần Hỗ Trợ

      Chuyên mục

      • Tool
      • Blog
      • Tài Liệu
      • Lập Trình
      • Việc Làm
      • Công Nghệ

      Phần mềm - Công cụ

      • Brands
      • Alosoft
      • Seeding
      • Top Việc
      • Tổng Hợp
      • Quản Trị Nhân Sự

      Liên kết

      • Top Vui
      • Xe Mô Tô
      • Quản Lý Kho
      • Blog Việc Làm
      • Giải Pháp Việc Làm
      • Phần Mềm Miễn Phí

      Coder.com.vn là blog cá nhân, mọi thông tin đều mang tính chất tham khảo. Do đó, chúng tôi không chịu bất cứ trách nhiệm nào đối với việc sử dụng các thông tin trên website.
      Xem thêm Miễn Trừ Trách Nhiệm

      • Trang Chủ
      • Lập Trình
      • Công Nghệ
      • Tool
      • Tài Liệu
      • Việc Làm
      • Blog

      © 2025 JNews - Premium WordPress news & magazine theme by Jegtheme.