4. Nạp chồng phương thức (Overloading) trong lập trình java hướng đối tượng

Trong lập trình java hướng đối tượng, nạp chồng phương thức (Overloading) là một khái niệm trong lập trình hướng đối tượng (OOP) trong Java, cho phép định nghĩa nhiều phương thức cùng tên nhưng có số lượng hoặc kiểu dữ liệu tham số khác nhau trong cùng một lớp. Qua đó, chúng ta có thể sử dụng cùng tên phương thức để thực hiện các tác vụ tương tự nhưng với đầu vào khác nhau.

Khi gọi một phương thức, Java sẽ phân biệt chúng dựa trên số lượng và kiểu dữ liệu của các tham số. Điều này cho phép ta sử dụng các phương thức khác nhau trong các tình huống khác nhau mà không cần thay đổi tên phương thức.

Ví dụ về nạp chồng phương thức trong Java:

java
public class MathUtils {
    public int add(int a, int b) {
        return a + b;
    }
    
    public double add(double a, double b) {
        return a + b;
    }
    
    public int add(int a, int b, int c) {
        return a + b + c;
    }
}

Trong ví dụ trên, chúng ta có một lớp “MathUtils” với ba phương thức “add”.

  • Phương thức đầu tiên có hai tham số kiểu int và trả về một giá trị kiểu int.
  • Phương thức thứ hai có hai tham số kiểu double và trả về một giá trị kiểu double.
  • Phương thức thứ ba có ba tham số kiểu int và trả về một giá trị kiểu int.

Khi gọi phương thức “add”, Java sẽ xác định phương thức nào phù hợp dựa trên số lượng và kiểu dữ liệu của các tham số. Ví dụ:

java
MathUtils math = new MathUtils();

int sum1 = math.add(5, 10);                // Gọi phương thức add(int, int)
double sum2 = math.add(3.14, 2.56);        // Gọi phương thức add(double, double)
int sum3 = math.add(1, 2, 3);              // Gọi phương thức add(int, int, int)

Trong ví dụ trên, chúng ta gọi phương thức “add” với các tham số khác nhau và Java sẽ chọn phương thức phù hợp dựa trên số lượng và kiểu dữ liệu của các tham số.

Nạp chồng phương thức giúp mã nguồn dễ đọc, linh hoạt và tiện lợi trong việc xử lý các tình huống khác nhau mà không cần tạo ra nhiều phương thức với tên khác nhau trong lập trình java hướng đối tượng.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top