Heim >Backend-Entwicklung >C++ >Neue vs. Override: Wann sollten Sie jeden Methodenmodifikator in der Vererbung verwenden?

Neue vs. Override: Wann sollten Sie jeden Methodenmodifikator in der Vererbung verwenden?

Susan Sarandon
Susan SarandonOriginal
2025-01-28 11:51:09811Durchsuche

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

Verstehen Sie das Modifikationszeichen

und new override Erben Sie in der von der objektorientierten Programmierung die Methode, mit der die abgeleitete Klasse die Basisklasse wiederverwendet und ändern kann.

und

sind jedoch zwei verschiedene Modifikatoren. new override Situation 1: Verwenden Sie die Vererbungsmethode des

-Modifikators

new Bei der Verwendung des -Modifikators erstellt die abgeleitete Klasse eine separate Methode gleichname wie die Basismethode. Dies verbirgt tatsächlich die Sichtbarkeit von Basisklassenmethoden in Derivaten. Die Codierung der Basisklasse verwendet direkt die Implementierung der Basisklassenmethode, und die Codierungscodes, die auf die abgeleitete Klasse verweisen, verwendet die Implementierung der abgeleiteten Klassenmethode.

Situation 2: Verwenden Sie die Vererbungsmethode des

-Modifikators new

Andererseits ist die Modifikation der Ableitungsklasse so konzipiert, dass sie sie durch die Basisklassenmethode mit derselben Signatur ersetzen kann. Dies bedeutet, dass die Methode, wenn die Methode auf die Referenz der Basisklasse aufgerufen wird, immer die Realisierung der Definition der Derivatklasse verwendet. override Schlüsselunterschiede

override sichtbar:

Verstecken Sie die Basisklassenmethode und ersetzen Sie sie.

Anruf und Analyse:
  • Rufen Sie immer die abgeleitete Klassenmethode auf und Die Abschlussdefinitionsimplementierung rufen Sie auch dann, wenn der Basisklassenreferenzzugriff der gleiche ist. new Beispiel: override
  • Es kann verwendet werden, um eine völlig andere Version der Methode zu erstellen, und
  • wird verwendet, um die Basismethode zu erweitern oder zu ändern. new Beispiel override
  • Betrachten Sie die folgenden Basisklassen und Derivate: new In diesem Beispiel sorgt der override -Modifikator in der abgeleiteten Klasse, dass die Verwirklichung der Definition in abgeleiteten Definition in der abgeleiteten Klasse, unabhängig von der Art der Referenz, die Realisierung der Definition in der abgeleiteten Ausführung ausführt, unabhängig von der Art der Referenz, die Art der Referenz Typ wird verwendet

Das obige ist der detaillierte Inhalt vonNeue vs. Override: Wann sollten Sie jeden Methodenmodifikator in der Vererbung verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn