Tại sao có một lợi thế để sử dụng một phương thức tĩnh và truyền tham chiếu đến một đối tượng làm tham số thay vì gọi phương thức trên một đối tượng?
Để làm rõ những gì tôi muốn nói, hãy xem xét các lớp sau:
public class SomeClass {
private double someValue;
public SomeClass() {
// Some constructor in which someValue is set
}
public void incrementValue() {
someValue++;
}
}
So với thực hiện thay thế này với một phương thức tĩnh:
public class SomeClass {
private double someValue;
public SomeClass() {
// Some constructor in which someValue is set
}
public static void incrementValue(SomeClass obj) {
obj.someValue++;
}
}
Câu hỏi của tôi không chỉ giới hạn trong lớp học này; bất kỳ điểm nào mà bạn vượt qua một đối tượng thay vì gọi nó trên một phương thức là điều tôi quan tâm. Điều này có thuận lợi không? Nếu vậy, tại sao?