Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erklärung des objektorientierten Überladens und Umschreibens in PHP

Ausführliche Erklärung des objektorientierten Überladens und Umschreibens in PHP

墨辰丷
墨辰丷Original
2018-05-25 14:55:421188Durchsuche

In diesem Artikel werden hauptsächlich das Überladen und Umschreiben objektorientierter PHP-Objekte vorgestellt. Es hat einen sehr guten Referenzwert.

Überschreiben ist eine Manifestation von Polymorphismus in einer Klasse. Eine überladene Methode kann den Typ des Rückgabewerts ändern. Mit anderen Worten: Die Rückgabewerttypen von Überladungen können gleich oder unterschiedlich sein.

Überladung

a. Methodenüberladung ist ein Mittel für eine Klasse, um verschiedene Arten von Daten auf einheitliche Weise zu verarbeiten. Es existieren gleichzeitig mehrere Funktionen mit demselben Namen und unterschiedlicher Anzahl/Art von Parametern. Überladung ist eine Manifestation des Polymorphismus in einer Klasse.

b. Methodenüberladung in Java bedeutet, dass Sie mehrere Methoden in einer Klasse erstellen können. Sie haben den gleichen Namen, aber unterschiedliche Parameter und unterschiedliche Definitionen. Beim Aufrufen von Methoden entscheiden Sie anhand der Anzahl und Art der an sie übergebenen Parameter, welche Methode verwendet werden soll.

c. Beim Überladen sollte der Methodenname derselbe sein, aber der Parametertyp und die Parameternummer sind unterschiedlich und der Rückgabewerttyp kann gleich oder unterschiedlich sein. Der Rückgabetyp kann nicht als Kriterium zur Unterscheidung überladener Funktionen verwendet werden.

2. Überschreiben Sie

a. Definieren Sie die Funktionen der übergeordneten Klasse neu. Wenn eine in einer Unterklasse definierte Methode denselben Namen und dieselben Parameter wie ihre übergeordnete Klasse hat, spricht man von einer überschreibenden Methode. In Java können Unterklassen Methoden von ihrer übergeordneten Klasse erben, ohne dieselben Methoden neu schreiben zu müssen. Aber manchmal möchte die Unterklasse die Methoden der übergeordneten Klasse nicht unverändert erben, sondern bestimmte Änderungen vornehmen, was ein Umschreiben der Methode erfordert. Das Überschreiben von Methoden wird auch als Methodenüberschreiben bezeichnet.

b. Wenn eine Methode in der Unterklasse denselben Methodennamen, denselben Rückgabetyp und dieselbe Parameterliste wie eine Methode in der übergeordneten Klasse hat, überschreibt die neue Methode die ursprüngliche Methode. **Wenn Sie die ursprüngliche Methode in der übergeordneten Klasse benötigen, können Sie das Schlüsselwort super verwenden, das auf die übergeordnete Klasse der aktuellen Klasse verweist**.

c. Die Zugriffsänderungsrechte von Unterklassenfunktionen dürfen nicht geringer sein als die der übergeordneten Klasse.

Wenn der Name, der Rückgabetyp, der Parametertyp und die Nummer der übergeordneten Klassenmethode identisch sind das Gleiche, nur sein interner Code ist anders. In Java wird diese Umschreibungsmethode als Member-Methoden-Refactoring bezeichnet.

In der Unterklasse können Sie die Berechtigungen in der übergeordneten Klassenmethode neu anpassen (von geizig zu großzügig). , Erweitern oder Anpassen der Berechtigungen der übergeordneten Klasse usw., wodurch die Unterkategorie häufig in Blau angezeigt wird, jedoch besser als in Blau. Während des Entwicklungsprozesses sollten Programmentwickler diese Funktionen von Unterklassen sinnvoll nutzen. Aus einer anderen Perspektive ist es jedoch auch erforderlich, den Berechtigungen von Unterklassen bestimmte Einschränkungen aufzuerlegen. Bei Bedarf sollten Berechtigungen für bestimmte Methoden in der übergeordneten Klasse kontrolliert werden, um zu verhindern, dass sie von Unterklassen missbraucht werden.

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


Verwandte Empfehlungen:

Javascript-SimulationÜberladung, detaillierte Antworten zum Umschreiben der toString-Methode

JS-Methodenumschreibung und ÜberladungTechniken, detaillierte Erklärung

PHP-Funktion Überladung Analyse und Beispiele

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung des objektorientierten Überladens und Umschreibens 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