Heim > Artikel > Backend-Entwicklung > Anlässe für das Umschreiben von C++-Funktionen: Einhaltung der Anforderungen der Unterklasse und der Schnittstelle der übergeordneten Klasse
Funktionsumschreiben bedeutet, dass eine Unterklasse eine andere Implementierung einer Funktion mit demselben Namen wie ihre übergeordnete Klasse erstellt. Dies wird normalerweise in den folgenden Situationen verwendet: Die Unterklasse hat spezifische Anforderungen, die von der übergeordneten Klasse nicht abgedeckt werden. Unterklassen müssen das Verhalten der Funktionen der übergeordneten Klasse ändern. Das Prinzip der Schnittstellenisolation erfordert, dass die Schnittstellen der übergeordneten Klasse in kleinere Unterschnittstellen zerlegt werden.
C++-Funktionsumschreibungsgelegenheiten: die Übereinstimmung zwischen Unterklassenanforderungen und übergeordneter Klassenschnittstelle
Was ist Funktionsumschreibung?
Funktionsüberschreibung bedeutet, dass eine Unterklasse eine Funktion mit demselben Namen wie ihre übergeordnete Klasse, aber mit unterschiedlichen Implementierungen erstellt. Durch Überschreiben kann eine Unterklasse das Verhalten der übergeordneten Klasse erweitern oder ändern, um ihren spezifischen Anforderungen gerecht zu werden.
Anlässe für das Umschreiben von Funktionen
Funktionsumschreiben wird normalerweise in den folgenden Situationen verwendet:
Praktischer Fall
Betrachten Sie die folgenden übergeordneten und untergeordneten Klassen:
class Animal { public: virtual void speak() { cout << "Generic animal sound" << endl; } }; class Dog : public Animal { public: virtual void speak() override { cout << "Woof!" << endl; } };
In der Klasse Dog
überschreiben wir die Funktion speak()
. Dadurch kann das Dog
-Objekt „Wuff!“ sprechen, während das Animal
-Objekt weiterhin den „Generic Animal Sound“ aussendet. Dog
类中,我们重写了 speak()
函数。这允许 Dog
对象以 "Woof!" 的方式说话,而 Animal
对象仍然发出 "Generic animal sound" 的声音。
注意事项
以下是函数重写的一些注意事项:
override
override
verwenden, um explizit anzugeben, dass es sich um eine Funktionsüberschreibung handelt. 🎜🎜Eine überschriebene Funktion kann eine andere Implementierung haben, aber die Sichtbarkeit (öffentlich, geschützt oder privat) der übergeordneten Klassenfunktion nicht ändern. 🎜🎜Das obige ist der detaillierte Inhalt vonAnlässe für das Umschreiben von C++-Funktionen: Einhaltung der Anforderungen der Unterklasse und der Schnittstelle der übergeordneten Klasse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!