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 ạ.
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ó
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