Maison >développement back-end >C++ >Nouveau vs Override: Quand devez-vous utiliser chaque modificateur de méthode dans l'héritage?

Nouveau vs Override: Quand devez-vous utiliser chaque modificateur de méthode dans l'héritage?

Susan Sarandon
Susan Sarandonoriginal
2025-01-28 11:51:09834parcourir

new vs. override: When Should You Use Each Method Modifier in Inheritance?

Comprendre le caractère de modification

et new override Dans la programmation orientée objet, hériter de la méthode qui permet à la classe dérivée de réutiliser et de modifier la classe de base. Cependant,

et

sont deux modificateurs différents. new override Situation 1: Utilisez la méthode d'héritage du modificateur

new Lorsque vous utilisez le modificateur , la classe dérivée crée une méthode distincte du même nom que la méthode de base. Cela cache en fait la visibilité des méthodes de classe de base en dérivés. Le codage de la classe de base utilise directement l'implémentation de la méthode de la classe de base, et les codes de codage qui font référence à la classe dérivée utiliseront l'implémentation de la méthode de classe dérivée.

Situation 2: Utilisez la méthode d'héritage du modificateur

new

En revanche, La modification de la classe dérivée est conçue pour la remplacer par la méthode de la classe de base par la même signature. Cela signifie que lorsque la méthode est appelée sur la référence de la classe de base, elle utilisera toujours la réalisation de la définition de la classe dérivée. override Différences de clés

override Visible:

Masquez la méthode de la classe de base, et le remplacer.

Appel et analyse:
  • Appelez toujours la méthode de classe dérivée, et appelez l'implémentation de définition finale, même si l'accès de référence de classe de base est le même. new Exemple: override
  • Il peut être utilisé pour créer une version complètement différente de la méthode, et
  • est utilisée pour développer ou modifier la méthode de base. new Exemple override
  • Considérez les classes de base et dérivés suivantes: new Dans cet exemple, le modificateur override dans la classe dérivée s'assure que lorsque le DOIT () est appelé sur la classe dérivée, il exécutera la réalisation de la définition dans Derive.doin, quel que soit le type de référence le type est utilisé.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn