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ì? 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!
Table of Contents
>> 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.
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.
>>> 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 {
2
3 @Override
4 public void draw() {
5 System.out.println(“Draw ” + super.getColor() + ” rectangle”);
6 }
7
8 }
Circle.java:
1public class Circle extends Shape {
2
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:
- 5 Điểm đáng chú ý tại khóa học lập trình trực tuyến FPT – FUNiX
- 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
- Lý do phổ biến khiến học viên nước ngoài chọn FUNiX
- Lưu ý để học blockchain trực tuyến hiệu quả cao tại FUNiX
- Lý do nữ giới nên chọn FUNiX để học chuyển nghề IT
- FUNiX trở thành đối tác của Liên minh Blockchain Việt Nam
- 3 lý do bạn trẻ nên học blockchain trực tuyến ở FUNiX
Phạm Thị Thanh Ngọc
Bình luận (0
)