Overriding trong Java

Bài viết này sẽ giúp bạn hiểu về tính đa hình trong Java thông qua Overriding. Nếu bạn đã tìm hiểu về kế thừa lớp sẽ thấy rằng lớp con sẽ có khả năng ghi đè phương thức của lớp cha.

Lợi ích của việc Override đó là: giúp xác định một hành vi cụ thể cho kiểu lớp con, có nghĩa là một lớp con có thể triển khai một phương thức của lớp cha dựa trên yêu cầu của nó.

Overriding trong Java là gì?

Method Overriding tạm hiểu là ghi đè phương thức. Trường hợp xảy ra khi lớp con có phương thức giống lớp cha.

Khi phương thức ghi đè được triển khai thì JVM sẽ ưu tiên thực thi Overriding từ lớp con.

Để không bị lỗi nên thêm @Override phía trước phương thức.

Quy tắc Overriding

  • Phương thức lớp con phải giống tên với phương thức lớp cha
  • Phương thức phải có cùng tham số như trong lớp cha
  • Phải là quan hệ kế thừa (IS-A)
  • Không thể ghi đè phương thức được khai báo là final và static

Cách sử dụng Overriding

Thực hiện ví dụ sau đây bạn sẽ rõ mọi thứ.

Đầu tiên cần tạo một tập tin là DongVat.java

public class DongVat {

    void myName() {
        System.out.println("Tôi là động vật.");
    }

}

Tiếp theo tạo file ConCho.java

public class ConCho extends DongVat {
    @Override
    void myName() {
        System.out.println("Tôi là một con chó.");
    }

    public static void main(String[] args) {
        
        ConCho obj = new ConCho();
        obj.myName();

    }

}

Như ví dụ trên chúng ta thấy để xác định hành vi cho lớp ConCho thì cần phải khai báo lại phương thức cho nó.

Phía trước thêm @Override. Mặc dù nó không phải là bắt buộc. Tuy nhiên, khi chúng ta sử dụng điều này, phương thức phải tuân theo tất cả các quy tắc ghi đè. Nếu không, trình biên dịch sẽ tạo ra lỗi.

Kết luận: Phương thức Overriding trong Java là kiến thức cần nắm vững khi học lập trình hướng đối tượng. Bạn có thấy dễ hiểu khi đọc bài viết này? Hãy để lại Comment bên dưới nhé!

Related Posts

Cấu trúc dữ liệu và giải thuật: Một cái nhìn tổng quan

Giới thiệu Trong lĩnh vực phát triển phần mềm, cấu trúc dữ liệu và giải thuật là hai khái niệm quan trọng không thể thiếu. Cấu trúc…

Next.js – Khám phá Framework JavaScript tuyệt vời cho phát triển ứng dụng web

Giới thiệu về Next.js Next.js là một framework JavaScript mã nguồn mở và phổ biến được sử dụng để xây dựng các ứng dụng web hiệu suất…

Lisp – Cái nhìn tổng quan về ngôn ngữ lập trình đặc biệt

Lisp là gì? Lisp là một ngôn ngữ lập trình đặc biệt mang đến một cách tiếp cận độc đáo trong việc xử lý thông tin và…

Cách sử dụng đường dẫn tương đối trong HTML

Cách sử dụng đường dẫn tương đối trong HTML

Trang web hiện đại thường bao gồm nhiều tài nguyên như hình ảnh, trang HTML khác, tệp tin CSS và JavaScript. Để liên kết và truy cập…

Bài tập về hàm split trong Python

Chuỗi là một loại dữ liệu phổ biến trong lập trình, và việc xử lý chuỗi là một kỹ năng cần thiết cho các lập trình viên….

Xử lý chuỗi trong Python: Các phương thức cơ bản

Python là một trong những ngôn ngữ lập trình phổ biến nhất hiện nay. Nó được sử dụng rộng rãi trong nhiều lĩnh vực, từ phát triển…