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

Đăng bởi : admin | lượt xem : 2844 | phân mục : java

trong bài viết này chúng ta sẽ đi
khám phá về abstract class và abstract method trong java, cách sử dụng và các ví dụ minh họa.

1. lớp trừu tượng (abstract class) trong java

– Một lớp được khai báo với từ khóa abstract là lớp trừu tượng (abstract class).

– lớp trừu tượng hoàn toàn có thể có những nguyên lý abstract hoặc non-abstract .- lớp trừu tượng hoàn toàn có thể khai báo 0, 1 hoặc nhiều method trừu tượng bên trong .- Không thể khởi tạo 1 đối tượng người dùng trực tiếp từ một lớp trừu tượng .một lớp kế thừa từ lớp trừu tượng ( subclass – lớp con ) không cần phải implement non-abstract methods, nhưng những lý lẽ abstract trong lớp cha thì lớp con bắt buộc phải override. trừ khi subclass cũng là abstract .Cú pháp :

 abstract class  {     /tenlop>

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

  • một cách thức được khai báo là abstract và không có trình tiến hành thì đó là
    nguyên tắc trừu tượng ( abstract method ) .

  • nếu
    người chơi muốn một lớp chứa một phương pháp đơn cử nhưng game thủ muốn tiến hành thực sự phương pháp đó để được quyết định hành động bởi những lớp con, thì bạn hoàn toàn có thể khai báo phương pháp đó trong lớp cha ở dạng abstract .

  • từ khóa abstract được sử dụng để khai báo một phương thức dạng abstract. phương thức abstract sẽ không có định nghĩa, được theo sau bởi dấu chấm phẩy, không có dấu ngoặc nhọn theo sau.

    xem thêm: spirometry là gì

Cú pháp :

 abstract void ();

3. Ví dụ về lớp trừu tượng và phương thức trừu tượng

ví dụ: viết chương trình vẽ một hình bất kỳ với màu đỏ, sao cho cách sử dụng là giống nhau, bất kể đó là hình gì. hình đó có thể là hình chữ nhật (rectangle), hình tròn (circle), tam giác (triangle), đường (line), …

với nhu yếu trên, ta tạo một lớp trừu tượng shape. lớp này phân phối một phương pháp trừu tượng draw, phương pháp này để bảo vệ rằng toàn bộ những hình đều có cùng cách sử dụng ( draw ). ngoài ra, có phương pháp không trừu tượng getcolor để phân phối màu sử dụng tầm thường cho toàn bộ những hình. tiếp theo, ta tạo 2 lớp rectangle và circle kế thừa từ lớp shape, 2 lớp này có những cách giải quyết và xử lý draw khác nhau. cuối cùng, ta tạo class shapeapp, gọi phương pháp draw để vẽ hình theo nhu yếu .

shape.java

public abstract class shape {    private string color = "red";         public shape() {                      public abstract void draw();         public string getcolor() {        return color;    /code>

rectangle.java

public class rectangle hãixtends shape {     @override    public void draw() {        system.out.println("draw " + super.getcolor() + " rectangle");         /code>

circle.java

public class circle hoảngxtends shape {     @override    public void draw() {        system.out.println("draw " + super.getcolor() + " circle");         /code>

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();          /code>

Kết quả:

draw red rectangle---draw red circle

4. Một vài lưu ý

lớp con bắt buộc phải cài đặt (implement) tất cả các phương thức trừu tượng của lớp cha

bạn nhận được thông tin lỗi nếu lớp con không
cài đặt ( implement ) tổng thể những phương pháp trừu tượng của lớp cha : the type triangle must implement the inherited abstract method shape. draw ( ) .

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 báo lỗi khi cố tình khởi tạo một lớp trừu tượng: cannot instantiate the type shape.

source: https://lava.com.vn
category: hỏi Đáp