RunUO-FR
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
RunUO-FR

Forum de support pour RunUO en français.
 
AccueilAccueil  Dernières imagesDernières images  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  

 

 Les propriétés, GET/SET

Aller en bas 
AuteurMessage
Gargouille




Messages : 97
Date d'inscription : 02/09/2008

Les propriétés, GET/SET Empty
MessageSujet: Les propriétés, GET/SET   Les propriétés, GET/SET Icon_minipostedLun 8 Sep - 1:41

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...
Revenir en haut Aller en bas
 
Les propriétés, GET/SET
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RunUO-FR :: Tutoriaux Scripts :: Tutoriaux C#-
Sauter vers: