Close

Tính trừu tượng trong lập trình hướng đối tượng

Spread the love

Một trong những tính chất quan trọng trong lập trình hướng đối tượng chúng ta sẽ cùng tìm hiểu trong bài này đó là tính trừu tượng (Abstraction), được thể hiện qua các lớp trừu tượng (Abstract Class). Từ đây trở về sau, trong các minh họa và khái niệm, mình sẽ dùng các thuật ngữ tiếng Anh thay vì tiếng Việt để các bạn tập làm quen và không bị ngỡ ngàng trong quá trình tra cứu tài liệu bằng tiếng Anh về sau. Ngôn ngữ minh họa là Java.

Abstract Class là gì?

– Abstract Class là một class dùng để định nghĩa những attribute và method chung của những class khác. Nói cách khác abstract class dùng để khai báo các attribute và method cho các class khác sử dụng.

– Abstract Class không cho phép khởi tạo tham số, chỉ khai báo.

– Abstract Class được dùng như một base class của các class có cùng bản chất. Bản chất ở đây được hiểu là kiểu, loại, nhiệm vụ của class.

– Mỗi class dẫn xuất (derived class – lớp con) có thể inherit từ một abstract class.

– Từ khóa abstract được dùng để định nghĩa một absctract class.

Ví dụ : Shape (Hình) là một abstract class:


Tính trừu tượng trong lập trình hướng đối tượng java 0001

Class Shape gồm 2 method, gồm 1 abstract method (drow) chỉ mang tính chất khai báo, các class con sẽ kế thừa và viết implement cho method này.

Cụ thể, 2 class Cone và Circle kế thừa class Shape và có phần implement riêng cho method drow. Trong quá trình sử dụng, tùy vào mục đích mà chúng ta sử dụng class con nào, điều này mang đến tính flexible trong quá trình code.

Tính trừu tượng trong lập trình hướng đối tượng Java

– Abstract Class không khởi tạo thực thể.

– Abstract Class chứa một hoặc nhiều Abstract Method. Tuy nhiên, không có Abstract Method vẫn khai báo Abstract Class.

– Một class chứa Abstract Method thì class đó phải là Abstract Class.

– Một class thừa kế Abstract Class phải hiện thực tất cả các Abstract method hoặc class đó cũng là Abstract Class.

Lời kết : Hiểu một cách cốt lõi khi sử dụng abstract class đó là nếu trong class abstract khai báo method abstract thì bắt buộc các class khác khi kế thừa nó phải định nghĩa lại. Đây là tính chất sẽ sử dụng thường xuyên trong các bài toán liên quan đến trừu tượng sau này.

Gửi phản hồi