Heim  >  Artikel  >  Backend-Entwicklung  >  Der Unterschied zwischen Überladung und Überschreibung in PHP

Der Unterschied zwischen Überladung und Überschreibung in PHP

墨辰丷
墨辰丷Original
2018-05-25 14:57:221415Durchsuche

In diesem Artikel wird hauptsächlich der Unterschied zwischen Überladung und Überschreibung in PHP vorgestellt. Es hat einen sehr guten Referenzwert, schauen wir es uns mit dem Editor unten an

override (umschreiben, überschreiben)

1 Wert gleich.

2. Unterklassenmethoden können die Zugriffsrechte von übergeordneten Klassenmethoden nicht reduzieren.

3. Methoden der Unterklasse können nicht mehr Ausnahmen auslösen als Methoden der übergeordneten Klasse (Methoden der Unterklasse müssen jedoch keine Ausnahmen auslösen).

4. Existiert zwischen Elternklasse und Unterklasse.

5. Methoden sind als endgültig definiert und können nicht überschrieben werden.

Überlastung (Überlastung, Überlastung)

Mindestens ein Parametertyp, eine Nummer und eine Reihenfolge sind unterschiedlich.

2. Methodennamen, die nur unterschiedliche Rückgabewerte haben, können nicht überladen werden.

3. Existiert in übergeordneten Klassen, Unterklassen und ähnlichen Klassen.

Überschreiben und Überladen von Methoden sind verschiedene Erscheinungsformen des Java-Polymorphismus.

Überschreiben ist eine Manifestation von Polymorphismus zwischen einer übergeordneten Klasse und einer Unterklasse, während Überladung eine Manifestation von Polymorphismus in einer Klasse ist.

Wenn eine in einer Unterklasse definierte Methode denselben Namen und dieselben Parameter wie ihre übergeordnete Klasse hat, sagen wir, dass die Methode überschreibt. Wenn ein Objekt einer Unterklasse diese Methode verwendet, wird die Definition in der Unterklasse aufgerufen. Dafür wird die Definition in der übergeordneten Klasse „abgeschirmt“.

Wenn mehrere Definitionen mit demselben Namen definiert sind Eine Klasse. Methoden, die eine unterschiedliche Anzahl von Parametern, unterschiedliche Parametertypen oder unterschiedliche Parameterreihenfolgen haben können, werden als Methodenüberladung bezeichnet. Es kann nicht durch Zugriffsberechtigungen, Rückgabetypen und ausgelöste Ausnahmen überladen werden.

1 Das Flag der überschriebenen Methode muss überschrieben werden Der überschreibende Effekt kann nur erreicht werden, wenn die Flags der Methode vollständig übereinstimmen.

2 Der Rückgabewert der überschriebenen Methode muss mit dem Rückgabewert der überschriebenen Methode übereinstimmen . Der von der überschriebenen Methode ausgelöste Wert muss mit der von der überschriebenen Methode oder ihrer Unterklasse ausgelösten Ausnahme übereinstimmen in seiner Unterklasse und wird nicht abgedeckt.

2. Überladungsfunktionen

1. Bei Verwendung von Überladung können Sie nur verschiedene Parameterstile verwenden. Zum Beispiel unterschiedliche Parametertypen, unterschiedliche Anzahl von Parametern, unterschiedliche Parameterreihenfolge (natürlich müssen mehrere Parametertypen in derselben Methode unterschiedlich sein, zum Beispiel kann es fun(int, float) sein, aber es kann nicht fun(int) sein , int ));

2. Das Überladen kann nicht durch Zugriffsberechtigungen, Rückgabetypen und ausgelöste Ausnahmen erfolgen.

3 >4. Wenn eine Methode in der übergeordneten Klasse über privilegierten Zugriff verfügt, kann sie in der Unterklasse nicht überladen werden. Es wird nur eine neue Methode definiert.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Studium aller hilfreich sein wird.

Verwandte Empfehlungen:

Einführung in die Unterschiede und Zusammenhänge zwischen Override und Overload


PHP objektorientiert – Detaillierte Einführung in die Simulation von Methodenüberladung in allgemeinen objektorientierten Sprachen (

Überladung

)

PHP-orientierte Objekte – Beispiel Code, der die Überlastung (Überlastunging) detailliert beschreibt

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen Überladung und Überschreibung in PHP. 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