Polymorphismus ist ein Schlüsselkonzept in der objektorientierten Programmierung, mit der verschiedene Objekte unterschiedlich auf denselben Methodenaufruf reagieren können. In PHP wird Polymorphismus hauptsächlich durch Vererbung und Grenzfläche erreicht. In diesem Artikel wird die Essenz des PHP -Polymorphismus in Kombination mit Codebeispielern detailliert analysiert.
Die Vererbung wird in PHP verwendet, um die Wiederverwendung und Funktionserweiterung von Code zu implementieren. Unterklassen erben die Eigenschaften und Methoden der übergeordneten Klasse und können den Polymorphismus durch Überschreiben der übergeordneten Klassenmethode implementieren.
// ein Tierklassentier definieren { öffentliche Funktion spreche () { echo "Tiere machen Lärm"; } } // Definieren Sie einen Hundklassenhund erweitert das Tier { öffentliche Funktion spreche () { echo "Hundebark"; } } // Definieren Sie eine Katzenklasse, erben Sie die Tierklasse -Katze erweitert das Tier { öffentliche Funktion spreche () { echo "Cat Meows"; } } // Erstellen Sie ein Hundobjekt $ Dog = New Dog (); $ dog-> speak (); // ein Katzenobjekt $ cat = new Cat () erstellen; $ cat-> speak ();
Im obigen Code ist Tierklasse, Hund und Katze Unterklassen, und die Spoke -Methode wird jeweils umgeschrieben. Beim Aufrufen derselben Methode führen verschiedene Objekte unterschiedliche Ergebnisse aus und spiegeln so den Polymorphismus wider.
Die Schnittstelle definiert eine Reihe von Methoden, bietet jedoch keine spezifischen Implementierungen. Klassen, die Schnittstellen implementieren, müssen Methoden in der Schnittstelle implementieren, was auch eine Möglichkeit für PHP ist, Polymorphismus zu implementieren.
// Definieren Sie eine Schnittstelle, die die Soundschnittstelle klingelbar machen kann { öffentliche Funktion macht (); } // Hund implementiert klingelbar { öffentliche Funktion makeound () { echo "Hundebark"; } } // Class Cat implementiert schönbar { öffentliche Funktion makeound () { echo "Cat Meows"; } } // Erstellen Sie ein Hundobjekt $ Dog = New Dog (); $ dog-> makeound (); // ein Katzenobjekt $ cat = new Cat () erstellen; $ cat-> makeound ();
In diesem Beispiel definiert die schallbare Schnittstelle die Mayes -Methode, und die Hunde- und Katzenklassen implementieren die Schnittstelle und bieten ihre jeweiligen spezifischen Implementierungen. Durch Aufrufen derselben Methode geben verschiedene Objekte unterschiedliche Ergebnisse aus und zeigen Polymorphismus.
Durch Polymorphismus, der durch Vererbung und Schnittstelle implementiert wurde, können Entwickler dieselbe Methode für verschiedene Objekte aufrufen, um unterschiedliche Verhaltensweisen zu erhalten, wodurch die Code -Flexibilität, -wartbarkeit und Skalierbarkeit verbessert werden. Das Beherrschen des Prinzips des Polymorphismus ist eine wichtige Grundlage für die objektorientierte Entwicklung von PHP.