Я бачу багато прикладу коду для класів C #, який робить це:
public class Point {
public int x { get; set; }
public int y { get; set; }
}
Або, у старому коді, те саме з явним приватним значенням резервної копії та без нових властивостей, які автоматично реалізуються:
public class Point {
private int _x;
private int _y;
public int x {
get { return _x; }
set { _x = value; }
}
public int y {
get { return _y; }
set { _y = value; }
}
}
Моє питання - чому. Чи існує якась функціональна різниця між виконанням вищезазначеного і тим, щоб зробити цих учасників загальнодоступними полями, як показано нижче?
public class Point {
public int x;
public int y;
}
Щоб бути зрозумілим, я розумію цінність геттерів та сеттерів, коли вам потрібно зробити переклад базових даних. Але у випадках, коли ви просто передаєте значення, це здається зайвим багатослівним.