Maison >développement back-end >C++ >Que fait réellement le « nouveau » mot-clé dans une signature de méthode C# ?
Comprendre la signification du « nouveau » mot-clé dans les signatures de méthode
En programmation C#, le mot-clé « nouveau » dans une signature de méthode sert un but précis. Il diffère du mot-clé « override » et offre une fonctionnalité distincte.
Que signifie « new » dans une signature de méthode ?
Le mot-clé « new » dans une signature de méthode la signature de la méthode est utilisée pour indiquer que la méthode cache une méthode héritée portant le même nom. Cela permet une implémentation différente de la méthode au sein de la classe dérivée sans modifier le comportement de la classe de base.
Considérez l'exemple suivant :
public class BaseClass { public virtual void MyMethod() { // Base class implementation } } public class DerivedClass : BaseClass { public new void MyMethod() { // Derived class implementation } }
Dans cet exemple, le "nouveau" Le mot-clé dans la méthode MyMethod de DerivedClass spécifie qu'il s'agit d'une nouvelle implémentation et non d'un remplacement de la méthode MyMethod héritée de BaseClass.
Différence par rapport à "override"
Le mot-clé "override", quant à lui, est utilisé pour remplacer explicitement une méthode virtuelle déclarée dans une classe de base. Il ne peut être utilisé que lorsque la méthode de la classe dérivée a le même nom, les mêmes paramètres et le même type de retour que la méthode virtuelle de la classe de base.
Le mot-clé "new" offre une plus grande flexibilité car il vous permet de modifier les méthodes non virtuelles et statiques dans les classes dérivées. Cela peut être utile dans les scénarios où vous devez modifier le comportement d'une méthode héritée sans affecter l'implémentation de la classe de base.
Par exemple, l'exemple suivant entraînerait une erreur de compilation si le mot clé "new" n'était pas used:
public class BaseClass { public static void MyStaticMethod() { // Base class static method } } public class DerivedClass : BaseClass { public new static void MyStaticMethod() { // Derived class static method } }
En résumé, le mot-clé "new" dans une signature de méthode est utilisé pour masquer une méthode héritée du même nom, permettant une implémentation différente dans la classe dérivée. Le mot-clé "override", en revanche, est utilisé pour remplacer explicitement une méthode virtuelle dans une classe de base.
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!