Ví dụ lớp trừu tượng có phương thức trừu tượng Trong ví dụ này, Bike lớp trừu tượng chứa phương thức trừu tượng chạy Việc thực cung cấp lớp Honda abstract class Bike { abstract void run(); } class Honda4 extends Bike { void run() { System.out.println("running safely"); } public static void main(String args[]) { Bike obj = new Honda4(); obj.run(); } } Kết quả: running safely Ví dụ sau để hiểu kịch thực lớp Trừu tượng • Trong ví dụ này, Shape lớp trừu tượng việc triển khai cung cấp class Rectangle class Circle1 • Hầu hết, khơng biết lớp thực thi (được ẩn người dùng cuối) đối tượng lớp thực cung cấp phương thức gốc • Một phương thức gốc phương thức trả thể lớp Chúng ta tìm hiểu phương pháp nhà máy phần sau • Trong ví dụ này, bạn tạo thể lớp Rectangle, phương thức draw () lớp Rectangle gọi abstract class Shape { abstract void draw(); } // Trong trường hợp thực, việc triển khai cung cấp người khác, tức người dùng cuối không xác định class Rectangle extends Shape { void draw() { System.out.println("drawing rectangle"); } } class Circle1 extends Shape { void draw() { System.out.println("drawing circle"); } } // Trong kịch thực, phương thức gọi lập trình viên người dùng class TestAbstraction1 { public static void main(String [] args) { Shape s = new Circle1(); // Trong kịch thực, đối tượng cung cấp thông qua phương thức, ví dụ: phương thức getShape () s.draw(); } } Kết quả: drawing circle Một ví dụ khác lớp Abstract java abstract class Bank { abstract int getRateOfInterst(); } class SBI extends Bank { int getRateOfInterst() { return 7; } } class PNB extends Bank { int getRateOfInterst() { return 8; } } class TestBank { public static void main(String [] args) { Bank b; b = new SBI(); System.out.println("Rate of Interest is: " + b.getRateOfInterst() + "%"); b = new PNB(); System.out.println("Rate of Interest is: " + b.getRateOfInterst() + "%"); } } Kết quả: Rate of Interest is: % Rate of Interest is: % Lớp trừu tượng có hàm tạo, thành viên liệu phương thức Một lớp trừu tượng có thành viên liệu, phương thức trừu tượng, thân phương thức (phương thức không trừu tượng), phương thức khởi tạo chí phương thức main() abstract class Bike { Bike() { System.out.println("bike is created"); } abstract void run(); void changeGear() { System.out.println("gear change"); } } // Tạo lớp Con kế thừa lớp Trừu tượng class Honda extends Bike { void run() { System.out.println("running safely "); } } // Tạo lớp Test gọi phương thức trừu tượng không trừu tượng class TestAbstraction2 { public static void main(String [] args) { Bile obj = new Honda(); obj.run(); obj.changeGear(); } } Kết quả: bike is created running safely gear changed