Một phương thức trừu tượng là một hàm được mô tả nhưng không được hiện thực, sử dụng từ khóa abstract.
Các lớp con kế thừa từ lớp cha mà trong lớp cha có khai báo các phương thức trừu tượng thì các lớp con phải hiện thực các phương thức trừu tượng đó bằng cách viết chồng phương thức hoặc trong lớp con phương thức đó cũng phải được khai báo là phương thức trừu tượng.
Lớp chứa một hay nhiều các phương thức trừu tượng là các lớp trừu tượng cần phải được khai báo sử dụng từ khóa abstract trước từ khóa class. Nhìn chung khai báo lớp trừu tượng có dạng tương tự như sau:
public abstract class GraphicObject{
// Khai báo các biến
// Khai báo các phương thức không phải trừu tượng
// Khai báo các phương thức trừu tượng
abstract void draw();// Phương thức trừu tượng draw()
}
Ví dụ: Trong một ứng dụng vẽ cho phép bạn vẽ hình tròn, hình chữ nhật, đường thẳng hoặc các đối tượng hình học khác. Tất cả các đối tượng này đều có trạng thái (vị trí, hướng, màu đường viền, màu tô) và các hành vi (moveTo, rotate, resize, draw). Một số các trạng thái và hành vi là chung cho tất cả các hình như: vị trí, màu tô, moveTo. Các hàm khác yêu cầu cách hiện thực khác nhau. Tất cả các đối tượng đồ họa GraphicObject cần phải biết được cách thức nó draw và resize như thế nào. Vì thế lớp GraphicObject thích hợp là một lớp trừu tượng.
abstract class GraphicObject
{
private int x,y;
....
public void moveTo(int newX, int newY){
this.x = newX;
this.y = newY;
}
abstract void draw();
abstract void resize();
}
class HinhTron extends GraphicObject
{
void draw(){
//Hiện thực phương thức draw của hình tròn
}
void resize(){
// Hiện thực phương thức resize của hình tròn
}
}
class HinhChuNhat extends GraphicObject
{
void draw(){
// Hiện thực phương thức draw của hình chữ nhật
}
void resize(){
// Hiện thực phương thức resize của hình chữ nhật
}
}
» Tin mới nhất:
» Các tin khác: