La méthode de la méthode de la réécriture et de la cachette C #
En termes d'héritage, C # fournit deux technologies différentes pour redéfinir la méthode dans la classe de base: la réécriture et la cachette. Ces deux technologies ont des différences fondamentales en termes de méthodes de travail et d'influence sur la chaîne d'héritage.
Hidden
Hidden vous permet de créer une nouvelle méthode du même nom que la méthode chinoise de la Fondation, mais les mots clés ne sont pas utilisés. Cette méthode est devenue un membre local de la classe dérivée, cachant la méthode de la fondation. Lorsqu'une instance dérivée appelle la méthode cachée, elle exécutera directement l'implémentation de cette classe, quelle que soit la structure du niveau d'héritage.
Exemple: override
Dans cet exemple, la méthode est cachée dans la classe
, et la méthode<code class="language-csharp">class A { public int Foo(){ return 5;} public virtual int Bar(){return 5;} } class B : A { public new int Foo() { return 1;} //隐藏 public override int Bar() {return 1;} //重写 }</code>
( instance) appelle Foo
, il renvoie B
parce que le Bar
dans clB
directement. B
Foo
Réécriture 1
B
Foo
En revanche, la réécriture nécessite
Exemple:
Dans l'exemple précédent, la méthode de override
, car dans est une réécriture.
La différence entre cachée et réécriture B
Bar
clB
Le choix entre caché et réécriture dépend de vos besoins spécifiques: Bar
1
B
Hidden: Bar
Lorsque vous souhaitez masquer la méthode d'héritage de la classe de base et utiliser l'implémentation locale, utilisez Hidden.
Remervient: Lorsque vous souhaitez redéfinir la méthode d'héritage et exécuter l'implémentation de la classe dérivée, utilisez la réécriture.
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!