Abstract Trong Java Là Gì

     
*

Abstract Class (Lớp trừu tượng) là gì? Abstract Method (Phương thức trừu tượng) trong là gì? những ví dụ minh họa vào Java.

Bạn đang xem: Abstract trong java là gì


Trong bài viết này chúng ta sẽ đi tìm hiểu về Abstract Class với Abstract Method vào Java, cách sử dụng và những ví dụ minh họa.


*

1. Lớp trừu tượng (Abstract Class) vào Java

- một tờ được khai báo với trường đoản cú khóaabstractlà lớp trừu tượng (abstract class).

- Lớp trừu tượng hoàn toàn có thể có các phương thức abstract hoặc non-abstract.

- Lớp trừu tượng có thể khai báo 0, 1 hoặc những method trừu tượng bên trong.

- quan trọng khởi sinh sản 1 đối tượng người dùng trực tiếp từ một lớp trừu tượng.

Xem thêm: Bắp Chân Bị Nóng Là Bệnh Gì Không? Bàn Chân Nóng Rát Là Do Đâu

Một lớp thừa kế từ lớp trừu tượng (subclass – lớp con) không cần thiết phải implement non-abstract methods, nhưng phần nhiều phương thức abstract trong lớp cha thì lớp con sẽ phải override. Trừ khi subclass cũng chính là abstract.

Cú pháp:

abstract class 2. Phương thức trừu tượng trong Java

Một cách tiến hành được khai báo là abstract và không có trình triển khai thì kia là cách thức trừu tượng (abstract method).Nếu bạn muốn một lớp đựng một phương thức ví dụ nhưng bạn muốn triển khai thực sự cách tiến hành đó để được ra quyết định bởi những lớp con, thì chúng ta cũng có thể khai báo thủ tục đó vào lớp phụ thân ở dạng abstract.Từ khóaabstractđược sử dụng để khai báo một phương thức dạng abstract. Thủ tục abstract sẽ không tồn tại định nghĩa, được theo sau vị dấu chấm phẩy, không có dấu ngoặc nhọn theo sau.

Cú pháp:

abstract void ();3. Ví dụ về lớp trừu tượng và cách làm trừu tượng

Ví dụ: Viết lịch trình vẽ một hình ngẫu nhiên với color đỏ, làm thế nào cho cách thực hiện là tương tự nhau, bất kể đó là hình gì. Hình đó hoàn toàn có thể làhình chữ nhật (rectangle), hình tròn trụ (circle), tam giác (triangle), đường (line), …

Với yêu ước trên, ta tạo ra một lớp trừu tượngShape. Lớp này cung ứng một cách thức trừu tượngdraw, cách thức này để bảo vệ rằng tất cả các hình đều phải có cùng cách áp dụng (draw). Ko kể ra, tất cả phương thức ko trừu tượnggetColorđể cung ứng màu áp dụng chung cho tất cả các hình. Tiếp theo, ta tạo nên 2 lớpRectangleCirclekế thừa từ lớpShape, 2 lớp này có những cách xử lýdrawkhác nhau. Cuối cùng, ta tạo classShapeApp, gọi phương thứcdrawđể vẽ hình theo yêu thương cầu.

Shape.java

public abstract class Shape private String color = "red"; public Shape() public abstract void draw(); public String getColor() return color; Rectangle.java

public class Rectangle extends Shape
Override public void draw() System.out.println("Draw " + super.getColor() + " rectangle"); Circle.java

public class Circle extends Shape
Override public void draw() System.out.println("Draw " + super.getColor() + " circle"); ShapeApp.java

public class ShapeApp public static void main(String<> args) Shape rect = new Rectangle(); rect.draw(); System.out.println("---"); Shape circle = new Circle(); circle.draw(); Kết quả:

Draw red rectangle---Draw red circle4.Một vài lưu ý

Lớp con nên phải thiết lập (implement) tất cả các phương thức trừu tượng của lớp cha

Bạn thừa nhận được thông tin lỗi nếu lớp nhỏ không thiết đặt (implement) toàn bộ các phương thức trừu tượng của lớp cha:The type Triangle must implement the inherited abstract method Shape.draw().

Xem thêm: 5 Sai Lầm Khi Ăn Mì Tôm Với Trứng Có Tốt Không Độc Hại Lại Tốt Cho Sức Khỏe

*

Không thể khởi tạo trực tiếp một lớp trừu tượng

Bạn nhận được thông tin lỗi khi cố tình khởi chế tạo một lớp trừu tượng:Cannot instantiate the type Shape.