Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Erklärung des Unterschieds zwischen Überladung und Überschreibung in PHP
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, sprechen wir von einer überschreibenden Methode. 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 eine detaillierte Erklärung des Unterschieds zwischen Überladung und Überschreibung in PHP. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!