Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie Polymorphismus in PHP

So implementieren Sie Polymorphismus in PHP

青灯夜游
青灯夜游Original
2021-06-02 15:24:354381Durchsuche

So implementieren Sie Polymorphismus in PHP: 1. Implementieren Sie Polymorphismus durch die Implementierung von Schnittstellen. 2. Verwenden Sie Schnittstellen und Kombinationen, um eine andere Klasse als Attribut in einer Klasse festzulegen, um Mehrfachvererbung zu simulieren und Polymorphismus durch Vererbungsbeziehungen zu erreichen.

So implementieren Sie Polymorphismus in PHP

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

Polymorphismus bedeutet, dass derselbe Vorgang oder die gleiche Funktion oder derselbe Prozess auf mehrere Objekttypen einwirken und unterschiedliche Ergebnisse erzielen kann. Verschiedene Objekte können beim Empfang derselben Nachricht unterschiedliche Ergebnisse liefern. Dieses Phänomen wird als Polymorphismus bezeichnet.

Polymorphismus ermöglicht es jedem Objekt, auf allgemeine Nachrichten auf eine Weise zu reagieren, die zu ihm passt. Polymorphismus erhöht die Flexibilität und Wiederverwendbarkeit der Software.

In der objektorientierten Softwareentwicklung ist Polymorphismus einer der wichtigsten Teile. Bei der objektorientierten Programmierung geht es nicht nur darum, verwandte Methoden und Daten einfach zu kombinieren, sondern verschiedene Elemente der objektorientierten Programmierung zu verwenden, um verschiedene Situationen im wirklichen Leben klar zu beschreiben. In diesem Abschnitt wird der Polymorphismus in der objektorientierten Programmierung ausführlich erläutert.

Was ist Polymorphismus?

Polymorphismus bedeutet wörtlich „mehrere Formen“. Es kann als mehrere Ausdrucksformen verstanden werden, nämlich „eine externe Schnittstelle und mehrere interne Implementierungsmethoden“. In der objektorientierten Theorie lautet die allgemeine Definition von Polymorphismus: Dieselbe Operation führt zu unterschiedlichen Ausführungsergebnissen, wenn sie auf Instanzen verschiedener Klassen angewendet wird. Das heißt, wenn Objekte unterschiedlichen Typs dieselbe Nachricht erhalten, erhalten sie unterschiedliche Ergebnisse.

In der tatsächlichen Anwendungsentwicklung besteht der Hauptgrund für die Verwendung von objektorientiertem Polymorphismus darin, dass verschiedene Unterklassenobjekte als eine übergeordnete Klasse behandelt werden können und die Unterschiede zwischen verschiedenen Unterklassenobjekten abgeschirmt werden können. Schreiben Sie universellen Code und universelle Programmierung, um sie an Änderungen anzupassen Bedürfnisse.

Bedingungen für die polymorphe Implementierung

Es gibt drei Bedingungen für die Implementierung von Polymorphismus: Erstens muss es eine Vererbung geben, das heißt, es muss eine übergeordnete Klasse (oder Basisklasse) und ihre abgeleiteten Unterklassen geben. Zweitens muss es eine Referenz von der übergeordneten Klasse geben, die auf das Objekt der Unterklasse verweist, was die wichtigste Voraussetzung für die Erzielung von Polymorphismus ist. Schließlich muss eine Methodenumschreibung erfolgen, das heißt, die Unterklasse muss einige Methoden der übergeordneten Klasse entsprechend ihren eigenen Anforderungen neu schreiben. Die Methodennamen und Parameter sind gleich.

Möglichkeiten zur Implementierung von Polymorphismus in PHP:

1. Implementieren Sie Polymorphismus durch die Implementierung von Schnittstellen

Im folgenden Beispiel erfordert die statische Methode der UserAdmin-Klasse einen Benutzertypparameter.

Bei der späteren Verwendung wird eine Instanz der NormalUser-Klasse übergeben, die die Benutzeroberfläche implementiert. Der Code wird erfolgreich ausgeführt.

<?
interface User{ // User接口
	public function  getName();
	public function setName($_name);
}
class NormalUser implements User { // 实现接口的类.
	private $name;
	public function getName(){
		return $this->name;
	}
	public function setName($_name){
		$this->name = $_name;
	}
}
class UserAdmin{ //操作.
	public static function  ChangeUserName(User $_user,$_userName){
		$_user->setName($_userName);
	}
}
$normalUser = new NormalUser();
UserAdmin::ChangeUserName($normalUser,"Tom");//这里传入的是 NormalUser的实例.
echo $normalUser->getName();
?>

Ergebnisse der Programmausführung:

Tom

2. Implementieren Sie Polymorphismus durch Vererbungsbeziehungen.

Verwenden Sie Schnittstellen und Kombinationen, um eine andere Klasse als Attribut in einer Klasse festzulegen, um Mehrfachvererbung zu simulieren und Polymorphismus durch Vererbungsbeziehungen zu erreichen.

Das Folgende ist die Beziehung zwischen Klassen und Unterklassen.

<?
class User{ // User接口
	public function  getName(){}
}
class NormalUser extends User { // 继承自User类
	private $name;
	public function getName(){
		return $this->name;
	}
	public function setName($_name){
		$this->name = $_name;
	}
}
class UserAdmin{ //操作.
	public static function  ChangeUserName(User $_user,$_userName){
		$_user->setName($_userName);
	}
}
$normalUser = new NormalUser();
UserAdmin::ChangeUserName($normalUser,"Tom");//这里传入的是 NormalUser的实例.
echo $normalUser->getName();
?>

Ergebnisse der Programmausführung:

Tom

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo implementieren Sie Polymorphismus 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