Ngày 1: Abstraction trong Java
Abstraction là một trong bốn tính chất cơ bản của OOP (Object Oriented Programming – Lập trình Hướng Đối tượng). Abstraction trong OOP giúp chúng ta đảm bảo tính đơn giản hóa của đối tượng trong lập trình hướng đối tượng. Abstraction là quá trình loại bỏ và tập trung vào những đặc điểm quan trọng của đối tượng, tránh những chi tiết phức tạp và không cần thiết.
Ví dụ về abstract trong Java:
“`java
abstract class DongVat{
public abstract void tiengKeu();
}
public class Cho extends DongVat{
public void tiengKeu(){
System.out.println(“Cho keu: gau gau”);
}
}
public class Main{
public static void main(String args[]){
DongVat dv = new Cho(); // Cho là một đối tượng của lớp DongVat
dv.tiengKeu();
}
}
“`
Những điểm đặc biệt cần nhớ về Abstract:
– Abstract class không thể khởi tạo.
– Nếu một class có ít nhất 1 phương thức abstract thì class đó phải được khai báo là abstract.
– Phương thức abstract không có phần thân.
5 câu hỏi và câu trả lời để ôn tập:
1. Có thể khởi tạo một đối tượng từ class abstract không?
– Không, class abstract không thể khởi tạo đối tượng.
2. Giải thích ý nghĩa của từ khóa ‘abstract’ trong Java?
– ‘Abstract’ là từ khóa dùng để tạo ra một class hoặc phương thức ảo, mà cần phải được cung cấp đầy đủ trong lớp con.
3. Class con cần phải thực hiện tất cả các phương thức abstract của class cha không?
– Có, class con cần phải cung cấp phần thân cho tất cả các phương thức abstract của class cha.
4. Có thể khai báo một class vừa là final vừa là abstract không?
– Không, vì nếu một class là final thì nó không thể được kế thừa, trong khi một class abstract cần lớp con để thực hiện các phương thức abstract.
5. Có thể khai báo phương thức trong Class Abstract mà không phải là Abstract không?
– Có, trong một class abstract có thể có các phương thức không phải abstract.