Mutateur

Définition - Que signifie Mutator?

Un mutateur, dans le contexte de C #, est une méthode, avec un niveau d'accessibilité public, utilisée pour modifier et contrôler la valeur d'une variable membre privé d'une classe. Le mutateur est utilisé pour attribuer une nouvelle valeur au champ privé d'un type. Il forme un outil pour implémenter l'encapsulation en contrôlant uniquement l'accès aux valeurs de champ internes qui doivent être modifiées.

Les avantages de l'utilisation d'un mutateur comprennent:

  • Empêche l'utilisateur d'accéder directement aux données privées d'une instance d'objet et autorise l'accès uniquement via des méthodes publiques pour éviter la corruption des données.
  • Fournit une flexibilité dans la modification de la représentation interne des champs d'un objet qui représente l'état interne sans rompre l'interface utilisée par les clients de l'objet.
  • Possibilité d'inclure une logique de traitement supplémentaire comme la validation d'un ensemble de valeurs, le déclenchement d'événements, etc., lors de la modification du champ dans le mutateur.
  • Fournit la synchronisation nécessaire pour les scénarios multithreading.
  • Inclut une disposition pour remplacer le mutateur déclaré dans une classe de base par le code de la classe dérivée.

Definir Tech explique Mutator

Un mutateur est généralement fourni avec un accesseur qui renvoie la valeur de la variable membre. Pour les membres de données qui sont immuables, le mutateur ne doit pas être fourni.

Par exemple, StudentData peut être une classe qui stocke les détails d'un élève, tels que le nom, l'adresse, la note, etc. Il peut y avoir une méthode publique, SetGrade dans la classe. StudentData est le mutateur pour mettre à jour l'objet StudentData à partir du code qui utilise l'objet.

Alors qu'un mutateur est implémenté en C ++ par une méthode publique explicite pour modifier un champ privé, C # introduit des "propriétés" comme une nouvelle fonctionnalité qui implémente un mutateur pour modifier les valeurs de champ ainsi qu'un accesseur pour récupérer le champ. Chaque propriété est représentée dans le code de langage intermédiaire commun avec une paire de méthodes préfixées par "get _" (accesseur) et "set _" (mutateur) sous le capot. Ils sont appelés en interne par le Common Language Runtime (CLR). Cela simplifie le code et permet parfois d'effectuer des opérations mathématiques.

Le mutateur n'est pas souvent utilisé dans les objets, où le comportement de l'objet est considéré plutôt que sa performance.

Cette définition a été écrite dans le contexte de C #