Lớp, phương thức trừu tượng
Lớp trừu tượng được sử dụng khi muốn định nghĩa một lớp mà không thể biết và định nghĩa ngay được các thuộc tính và phương thức của nó.
1) Khai báo
Khai báo lớp trừu tượng
Lớp trừu tượng được khái báo như cách khai báo các lớp thông thường, ngoại trừ có thêm từ khoá abstract trong phần tính chất:
[public] abstract class
{
}
• Tính chất: mặc định là public, bắt buộc phải có từ khoá abstract để xác định đây là một lớp trừu tượng.
Lưu ý:
• Lớp trừu tượng cũng có thể kế thừa một lớp khác, nhưng lớp cha cũng phải là một lớp trừu tượng. (Khai báo kế thừa thông qua từ khoá extends như khai báo kế thừa thông thường).
Ví dụ
abstract class Animal
{
}
2) Khai báo phương thức của lớp trừu tượng
Tất cả các thuộc tính và phương thức của lớp trừu tượng đều phải khai báo là trừu tượng. Hơn nữa, các phương thức của lớp trừu tượng chỉ được khai báo ở dạng khuôn mẫu mà không có phần khai báo chi tiết.
Cú pháp khai báo phương thức của lớp trừu tượng:
[public] abstract
([
• Tính chất: tính chất của một thuộc tính hay phương thức của lớp trừu tượng luôn là public. Nếu không khai báo tường minh thì giá trị mặc định cũng là public.
• Kiểu dữ liệu trả về: có thể là các kiểu cơ bản của java, cũng có thể là kiểu do người dùng tự định nghĩa (kiểu đối tượng).
• Tên phương thức: tuân thủ theo quy tắc đặt tên phương thức của lớp
• Các tham số: nếu có thì mỗi tham số được xác định bằng một cặp
• Các ngoại lệ: nếu có thì mỗi ngoại lệ được phân cách nhau bởi dấu phẩy.
Lưu ý:
Tính chất của phương thức trừu tượng không được là private hay static. Vì phương thức trừu tượng chỉ được khai báo chi tiết (nạp chồng) trong các lớp dẫn xuất (lớp kế thừa) của lớp trừu tượng. Do đó, nếu phương thức là private thì không thể nạp chồng, nếu phương thức là static thì không thể thay đổi trong lớp dẫn xuất.
• Phương thức trừu tượng chỉ được khai báo dưới dạng khuôn mẫu nên không có phần dấu móc “{}” mà kết thúc bằng dấu chấm phẩy “;”.
Ví dụ:
abstract class Animal
{
abstract String getName();
abstract int getFeet();
}
3) Sử dụng lớp trừu tượng
Lớp trừu tượng được sử dụng thông qua các lớp dẫn xuất của nó. Vì chỉ có các lớp dẫn xuất mới cài đặt cụ thể các phương thức được khai báo trong lớp trừu tượng.
Ví dụ:
public class Bird extends Animal
{
// Trả về tên loài chim
public String getName()
{
return “Bird”;
}
// Trả về số chân của loài chim
public int getFeet()
{
return 2;
}
}
Trương Đình Huy
» Tin mới nhất:
» Các tin khác: