ทำไมจะมีความได้เปรียบในการใช้วิธีการแบบสแตติกและส่งผ่านการอ้างอิงไปยังวัตถุเป็นพารามิเตอร์แทนที่จะเรียกวิธีการบนวัตถุ
เพื่อชี้แจงสิ่งที่ฉันหมายถึงพิจารณาชั้นเรียนต่อไปนี้:
public class SomeClass {
private double someValue;
public SomeClass() {
// Some constructor in which someValue is set
}
public void incrementValue() {
someValue++;
}
}
เปรียบเทียบกับการใช้ทางเลือกนี้ด้วยวิธีการคงที่:
public class SomeClass {
private double someValue;
public SomeClass() {
// Some constructor in which someValue is set
}
public static void incrementValue(SomeClass obj) {
obj.someValue++;
}
}
คำถามของฉันไม่ได้ จำกัด อยู่ที่ชั้นเรียนนี้เพียงอย่างเดียว จุดใดก็ตามที่คุณส่งวัตถุแทนการเรียกวิธีการเป็นสิ่งที่ฉันสนใจสิ่งนี้เคยเป็นประโยชน์หรือไม่? ถ้าเป็นเช่นนั้นทำไม