Leaderboard ads banner

Phân biệt Overloading và Overriding trong Java

Overloading và Overriding là hai khái niệm quan trọng trong Java. Tuy nhiên rất nhiều lập trình viên không phân biệt được sự khác biệt giữa Overloading và Overriding và thậm chí một số còn cho rằng hai khái niệm này là một. Trong bài viết này chúng ta sẽ cùng nhau tìm hiểu sự khác biệt giữa Overloading và Overriding thông qua hai ví dụ đơn giản. Trước hết chúng ta cùng tìm hiểu về khái niệm Overloading.

Overloading và Overriding

Overriding Là Gì

Overriding xuất hiện khi trong class con tồn tại một method được định nghĩa với cùng tên và cùng số lượng tham số với method của class cha.

Ví dụ:

class Animal {
    public int canFly(){
        return false;
    }
}

class Bird extends Animal{
    // overriding
    public int canFly(){
        return true;
    }
}

Trong ví dụ trên chúng ta có hai class là AnimalBird trong đó class Bird mở rộng class Animal. Cả hai class đều định nghĩa một method với tên là canFly() và method này có cùng số lượng tham số.
Chúng ta nói method canFly() trong lớp cha Animal bị override bởi lớp con Bird.

Overloading Là Gì

Overloading xuất hiện khi trong một class tồn tại một method được định nghĩa với cùng tên nhưng khác số lượng tham số đầu vào với method của class cha.

Ví dụ:

class  {
    public int sum(a, b){
        return a + b;
    }

    // overloading
    public int sum(a, b, c){
        return a + b + c;
    }
}

Trong ví dụ trên class Calculator có hai method với cùng một tên là sum tuy nhiên method thứ hai được định nghĩa với số lượng tham số nhiều hơn method thứ nhất. Chúng ta nói method sum thứ hai overload method sum thứ nhất

1 Bình Luận

Tai Nguyen Tai Nguyen

Overloading xuất hiện khi trong một class tồn tại một method được định
nghĩa với cùng tên và cùng số lượng tham số đầu vào với method của
class cha.

Đoạn này phải là khác số lượng tham số với method của class cha chứ

Ngọc Anh Ngọc Anh

Chuẩn đấy bạn, chắc tác giả đánh máy bị nhầm đoạn này :D

Nội dung không được để trống

Bài Viết Liên Quan