Voici quelque chose que vous rencontrerez très souvent :
- Code:
-
private string m_Nom;
public string Nom
{
get { return m_Nom; }
set { m_Nom = value; }
}
Nous avons là deux variables, l'une privée et l'autre publique.
Par convention la variable privée prend souvent le nom de la variable publique, précédé de
m_Celà sert à sécuriser le code, et à le maitriser.
En effet, la valeur privée pourra être accessible depuis l'extérieur de la classe la déclarant,
via la variable publique.
En d'autres termes, une autre classe ne peut pas faire appel à m_Nom du à son niveau de protection (elle est privée), mais cette classe peut faire appel à la propriété Nom, qui est publique.
Or Nom retourne la valeur de m_Nom (c'est le get) quand on l'appelle.
Et Nom passe la valeur à m_Nom (c'est le set) quand on l'assigne.
La sécurité est renforcée, quelques soient les classes et les codes qui pourraient être rajoutés par la suite, la valeur de m_Nom transitera toujours par Nom, et on peut sécuriser, filtrer, à cet endroit :
- Code:
-
private string m_Nom;
public string Nom
{
get { return m_Nom; }
set
{
if ( value == "gargouille" ) m_Nom = "Gargouille";
else m_Nom = value;
}
}
Dans l'exemple, m_Nom n'aura jamais pour valeur "gargouille" avec une minuscule au début...