Che lấp phương thức (hidden method)

Một phần của tài liệu Giáo án - Bài giảng: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG TRONG JAVA (Trang 89 - 90)

Chương 7: Thừakế và giao tiếp Mục tiêu bài học:

7.2.1Che lấp phương thức (hidden method)

Che lấp phương thức là hiện tượng được thể hiện bởi các phương thức tĩnh của một lớp. Nếu lớp con định nghĩa một phương thức tĩnh có cùng ký hiệu nhận biết (signature) như phương thức trong lớp cha, phương thức trong lớp con được gọi là che lấp phương thức trong lớp cha.

Sự khác biệt giữa che lấp và ghi đè có các hàm ý quan trọng. Phiên bản nào của phương thức che lấp được gọi, tùy thuộc vào nó được gọi từ lớp cha hay từ lớp con. Xét lớp cha Vehicle cài đặt phương thức tĩnh accelerate() và phương thức động brake(). Giả sử lớp con Truck ghi đè phương thức brake() và phương thức tĩnh accelerate(). Ở đây phương thức trong lớp Truck gọi là che lấp phương thức trong lớp Vehicle. Giờ thì phiên bản nào của phương thức che lấp sẽ được thực thi tùy thuộc vào thể hiện của lớp cha hay lớp con. Các phương thức che lấp được mô tả chi tiết trong đoạn mã 4.

Đoạn mã 4:

class Vehicle{ // Xe cộ

static void accelerate(){ // Tăng tốc

System.out.println("Accelerate in Vehicle."); } void brake(){ // Hãm thắng System.out.println("Brake in Vehicle."); } }

public class Truck extends Vehicle // Truck: xe tải {

System.out.println("Accelerate in Truck..."); }

void brake(){

System.out.println("Brake in Truck..."); }

public static void main(String args[]){ Truck dumper = new Truck();

Vehicle trailor = dumper;

//Kiểm tra che lấp phương thức Vehicle.accelerate();

//Phương thức tỉnh trong lớp Vehicle được gọi //Kiểm tra sự che lấp phương thức accelerate // trong lớp Vehicle

dumper.accelerate();//phương thức tỉnh trong Truck trailor.accelerate();//phương thức trong Vehicle chạy //Ghi đè đơn giản

trailor.brake(); //phương thức ghi đè trong lớp

//Truck được chạy }

}

Một phần của tài liệu Giáo án - Bài giảng: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG TRONG JAVA (Trang 89 - 90)