Je vois beaucoup d'exemple de code pour les classes C# qui fait cela:
public class Point {
public int x { get; set; }
public int y { get; set; }
}
Ou, dans le plus ancien code, le même, avec un explicite privé de la sauvegarde de la valeur et sans les nouvelles propriétés implémentées automatiquement:
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; }
}
}
Ma question est pourquoi. Est-il une différence fonctionnelle entre le faire ci-dessus et juste pour s'ces membres champs publics, comme ci-dessous?
public class Point {
public int x;
public int y;
}
Pour être clair, je comprends la valeur de getters et setters lorsque vous avez besoin de faire de la traduction des données sous-jacentes. Mais dans le cas où vous êtes juste de passage de la valeur au travers, il semble inutilement verbeux.