Langage C# – L’importance des accesseurs (propriétés)

Faites-vous partie des développeurs qui considèrent qu’il n’est pas utile d’utiliser des accesseurs (nommés propriétés dans Visual Studio) dans vos classes (en particulier les classes métier), en préférant l’utilisant directe des attributs (nommés champs dans Visual Studio) ?

// Attribut
private string _NumeroImmatriculation;

// Accesseur permettant d'accéder en lecture / écriture.
public string NumeroImmatriculation
{
    get
    {
        return this._NumeroImmatriculation;
    }
    set
    {
        this._NumeroImmatriculation = value;
    }
}

Si tel est le cas, permettez-moi de vous convaincre de leur utilité :

  • Ils centralisent un ensemble d’instructions qui sera exécuté lors de la lecture ou la modification d’un attribut. Exemples :
    • Dans le getter : formatage de la donnée retournée
    • Dans le setter : contrôle de la valeur contenue dans la variable value, afin de s’assurer qu’elle respecte les règles fonctionnelles qui la régissent
  • Ils sont utilisés dans les liaisons de données (Data Binding) avec les propriétés des contrôles permettant de créer des interfaces graphiques (afin d’alimenter les contrôles et répercuter les modifications de manière automatique lors que l’utilisateur les modifie). En effet, il est possible de créer une liaison de données qu’entre deux propriétés de deux objets. Cette opération est impossible avec les attributs.

About: James RAVAILLE

Travaillant avec la plateforme Microsoft .NET depuis 2002, j’alterne les missions de formation et d’ingénierie avec cette plateforme. J’écris ce blog pour transmettre mes connaissances à tout développeur, qu’il soit débutant ou expérimenté.