Maison >développement back-end >C++ >Ombrage vs remplacement en C #: Quelle est la différence?
caché et réécriture en C #: dans une analyse de -pth
Dans la programmation orientée objet, le mécanisme d'héritage est très important dans l'expansion et la modification. Cependant, il existe deux mécanismes différents lors de la modification des méthodes: la cachette et la réécriture.
Hidden: La méthode de protection de la fondation
Hidden est un membre du même nom qu'un membre qui a hérité de la classe de base. Différente de la réécriture, la classe dérivée n'établira pas une relation père -son. Au lieu de cela, il crée une nouvelle entité de membres de la Fondation Hidden.
Ce qui suit est un exemple:
Dans cette scène, la méthode Sayhello () déclarée chez le chien cache la méthode héritée de l'animal. Lorsque l'objet Dog appelle Sayhello (), il exécutera la méthode cachée pour bloquer l'implémentation de la classe de base.
<code class="language-csharp">class Animal { public virtual string SayHello() { return "Hello from Animal"; } } class Dog : Animal { public new string SayHello() { return "Hello from Dog"; } }</code>Réécriture: modifiez le comportement de la méthode de classe de base
En revanche, la réécriture fait référence à la même méthode de signature de l'héritage de l'état des sous-classes que l'héritage de la classe parent. Par défaut, la méthode de réécriture hérite de l'accès au modificateur et du type de retour de la méthode de classe de base. Cependant, ils peuvent modifier la réalisation des coutumes.
Dans cet exemple, la méthode Sayhello () dans le chien réécrit la méthode définie chez l'animal. Lorsque vous appelez l'objet chien, la méthode de réécriture est fournie pour fournir des comportements personnalisés spécifiques au chien.La différence clé entre la cachette et la réécriture
<code class="language-csharp">class Animal { public virtual string SayHello() { return "Hello from Animal"; } } class Dog : Animal { public override string SayHello() { return "Hello from Dog"; } }</code>
Autorisations d'accès: L'accès à la méthode de base de la méthode de réserve de la méthode de la classe de base, et le caché permettant à la classe dérivée de le modifier.
Relation de l'héritage: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!