Salut la foule,
Après plusieurs années de développement Java, je suis passé voilà un an et demi au C#. Passage des plus aisé, à l'exception d'un point qui me pose un "problème", les accesseurs C#.
Depuis la nuit des temps, tous mes profs ont hurlé à qui voulait l'entendre que la bonne méthode pour modifier une valeur dans une classe consistait à utiliser les fameux get et set, et surtout pas l'accès à la variable public. Bref, c'est entré et c'est jamais ressorti...
Du coup, je ne comprends pas bien l'intérêt des accesseurs C#
Vous l'aurez compris, la ligne Console.Writeline(mc.Hello); va à l'encontre de tout ce que l'on m'a appris, dans la mesure où on a vraiment l'impression d'accéder à une variable public... (contrairement à un getHello() et setHello() où l'encapsulation est bien plus claire)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public class MyClass { private string hello = "Hello World"; public MyClass(){ } public string Hello { set { hello = value; } get { return hello; } } static void Main(string[] args){ MyClass mc = new MyClass(); Console.Writeline(mc.Hello); } }
Quelle est l'intérêt de cette methode ? Est-ce que l'on ne risque pas de confondre un accès à une variable public et un accesseur ? S'agit-il simplement d'un fonctionnement comme un autre et, ma foi, faut bien s'y habituer ?
En vous remerciant.
Partager