Làm sao để truyền thêm tham số của hàm mà không cần sửa các lời gọi đến nó

Hôm nay, em có đi phỏng vấn và được hỏi:
Nếu có 1 function X(a,b) và có rất nhiều nơi gọi đến nó…
Nhưng khi cần truyền thêm X(a,b,c) thì làm cách nào mà không cần sửa tới các hàm đã gọi đến mà không bị lỗi.
Em xin nhận chỉ giáo ạ.

cái này tùy ngôn ngữ nữa
đối với một số ngôn ngữ thì chỉ cần thêm tham số thứ 3 với giá trị default thôi

6 Likes

@kisuluoibieng có gắn thẻ #java.
Đấy gọi là Nạp chồng (Overloading). Mà trong Java có cái gì gọi là “function” đâu nhỉ?

public void X(int a, int b){
   // do something
}

public void X(int a, int b, int c){
    X(a, b); // c ignored
}

//...
X(1234, 5678); // OK
X(1234, 5678, 90); // OK
6 Likes

Dùng varargs (variable arguments)

6 Likes

Bạn dùng cách này (link)

public static void X(int... args) {
	for (int val : args) {
		System.out.print(val + " ");
	}
	System.out.println();
}

public static void main(String[] args) {
	X(0);
	X(1, 2);
	X(3, 4, 5, 6);
	X(7, 8, 9, 0);
}

Kết quả

0 
1 2 
3 4 5 6 
7 8 9 0 
4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?