Appeler un autre constructeur au sein d'un constructeur
Dans une classe, le constructeur permet d'initialiser les champs lors de la création de l'objet. Dans certains cas, plusieurs constructeurs peuvent fournir des valeurs aux champs en lecture seule. Considérez la classe suivante :
<code class="language-c#">public class Sample { public Sample(string theIntAsString) { int i = int.Parse(theIntAsString); _intField = i; } public Sample(int theInt) => _intField = theInt; public int IntProperty => _intField; private readonly int _intField; }</code>
Il y a deux constructeurs ici. Cependant, le problème survient lorsque vous souhaitez éviter de dupliquer le code de configuration des champs, car les champs en lecture seule doivent être initialisés dans le constructeur.
Heureusement, il existe une solution : utiliser le chaînage de constructeurs. En ajoutant la ligne suivante dans le constructeur d'argument chaîne :
<code class="language-c#">public Sample(string str) : this(int.Parse(str)) { }</code>
Vous pouvez appeler le constructeur de paramètre entier à partir du constructeur de paramètre de chaîne. Cela délègue l’initialisation des champs au code existant, éliminant ainsi le besoin de duplication.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!