Lớp trừu tượng (Abtraction Class) là gì? Ví dụ minh họa cụ thể

Lớp trừu tượng (Abtraction Class) là gì? Ví dụ minh họa cụ thể

Chia sẻ kiến thức 04/03/2022

Lớp trừu tượng (Abtraction Class) là gì? Có ví dụ minh họa cụ thể ra sao? Trong nội dung bài viết dưới đây, FUNiX sẽ chia sẻ cụ thể cho bạn!

>> Khóa học lập trình cơ bản

>> Lập trình hướng đối tượng (bằng Java)

Theo thống kê mới nhất về lĩnh vực lập trình, thì lớp trừu tượng (Abtraction Class) là một trong những keyword được tìm kiếm nhiều nhất. Điều này cho thấy, nhu cầu người dùng tìm hiểu về khái niệm này khá cao. 

1. Lớp trừu tượng (Abtraction Class) là gì?

Lớp trừu tượng (Abtraction Class) là một lớp được khai báo với keyword abstract. Hay nói cách khác, là lớp dùng để khai báo thuộc tính và phương thức cho các lớp khác sử dụng.

Lớp trừu tượng (Abtraction Class) không thể khởi tạo tham số mà chỉ khai báo. Nó được dùng như một lớp cha (base class) của các lớp có cùng bản chất như kiểu, loại, nhiệm vụ. Theo đó, mỗi lớp dẫn xuất (derived class – lớp con) có thể thừa kế từ một lớp trừu tượng.

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

Ví dụ:

//tạo một lớp trừu tượng

abstract class Language {

  //thân lớp trừu tượng

}

 

//tạo một đối tượng Language sẽ gây lỗi

Language obj = new Language(); 

Khi cần 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, chúng ta sử dụng lớp trừu tượng (Abtraction Class). Ngoài ra, nó cũng được dùng để mô tả các lớp con và cung cấp chi tiết thực hiện của lớp trừu tượng.

>>> Đọc bài viết: 5 Điểm đáng chú ý tại khóa học lập trình trực tuyến FPT – FUNiX

2.Ví dụ minh họa cụ thể của lớp trừu tượng

Ví dụ 1: 

Giả sử bạn muốn tạo một ứng dụng bệnh viện và bạn được yêu cầu thu thập tất cả thông tin về bệnh nhân của bạn. Có nhiều khả năng bạn sẽ đưa ra thông tin sau đây về bệnh nhân như: Full Name, Address, Contact Number, Tax Information, Favorite Food, Favorite Movie, Favorite Actor, Favorite Band,….

Nhưng, không phải tất cả các thông tin trên đều cần bắt buộc phải có để tạo một ứng dụng bệnh viện. Vì vậy, bạn chỉ cần chọn thông tin hữu ích cho ứng dụng bệnh viện của mình từ nhóm đó. Chẳng hạn như: tên, tuổi, địa chỉ, tình trạng bệnh,… liên quan và có nghĩa đối với ứng dụng bệnh viện.

Bởi vì, chúng ta đã tìm nạp, xóa, chọn thông tin bệnh nhân 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ự sẽ được sử dụng cho nhiều ứng dụng sau khi được trích xuất. Chẳng hạn, bạn có thể sử dụng cùng một dữ liệu cho ứng dụng ngân hàng, ứng dụng cổng thông tin việc làm, cơ sở dữ liệu của Chính phủ,… với rất ít hoặc không sửa đổi.

Lớp trừu tượng (Abtraction Class) trong Java
Lớp trừu tượng trong Java

>>> Xem thêm: Từ A-Z chương trình học FUNiX – Mô hình đào tạo lập trình trực tuyến số 1 Việt Nam

Ví dụ 2: 

Khi viết chương trình vẽ một hình bất kỳ với màu xanh, sao cho cách sử dụng là giống nhau, bất kể đó là hình gì. Hình đó có thể là hình tròn (circle), hình chữ nhật (rectangle),, tam giác (triangle), đường (line), …

Trước tiên, chúng ta sẽ tạo một lớp trừu tượng (Abtraction Class) có tên gọi là Shape. Lớp này cung cấp một phương thức trừu tượng draw nhằm đảm bảo tất cả các hình đều có cùng cách sử dụng. Ngoài ra, có phương thức không trừu tượng getColor để cung cấp màu sử dụng chung cho tất cả các hình. Tiếp theo, chúng ta tạo 2 lớp Rectangle và Circle kế thừa từ lớp Shape để có những cách xử lý draw khác nhau. Sau cùng, chúng ta tạo class ShapeApp để vẽ hình theo yêu cầu.

Shape.java:

1public abstract class Shape {

2   private String color = “green”;

3    

4   public Shape() {

5         

6   }

7     

8    public abstract void draw();

9    

10    public String getColor() {

11      return color;

12    }

13 }

Rectangle.java:

1public class Rectangle extends Shape {

3    @Override

4    public void draw() {

5        System.out.println(“Draw ” + super.getColor() + ” rectangle”);

6    }

7     

8 }

Circle.java:

1public class Circle extends Shape {

3    @Override

4    public void draw() {

5        System.out.println(“Draw ” + super.getColor() + ” circle”);

6    }

7     

8}

ShapeApp.java:

1public class ShapeApp {

2    public static void main(String[] args) {

3        Shape rect = new Rectangle();

4        rect.draw();

5        System.out.println(“—“);

6        Shape circle = new Circle();

7        circle.draw();      

8    }

9}

Kết quả:

Draw red rectangle

Draw red circle

Như vậy, lớp trừu tượng trong lập trình hướng đối tượng là tính chất đơn giản nhưng không kém phần quan trọng. Vì nó sẽ được sử dụng thường xuyên trong các bài toán liên quan đến trừu tượng. Mong rằng, qua nội dung bài viết chia sẻ về khái niệm lớp trừu tượng (Abtraction Class) là gì? Cùng ví dụ minh họa cụ thể của FUNiX trên đây sẽ giúp bạn hiểu và biết cách ứng dụng hiệu quả vào công việc lập trình của mình.

>>> Nếu bạn đang có nhu cầu học lập trình trực tuyến, tìm hiểu ngay tại đây:

>>> Xem thêm nhiều hơn bài viết tại đây:

Phạm Thị Thanh Ngọc

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
Chat với FUNiX GPT ×

yêu cầu gọi lại

error: Content is protected !!