Polymorphismus in PHP erklärt [mit Beispielen]
Veröffentlicht: 2021-02-19Die Programmiersprache PHP folgt neben anderen Grundstrukturen einem Paradigma der objektorientierten Programmierung (OOP). Eines der wichtigsten Merkmale von OOPs ist der Polymorphismus. Im Allgemeinen leitet sich Polymorphismus von den griechischen Wörtern poly ab, was viele bedeutet, und Morphismus, was Formen bedeutet. Polymorphismus in OOPs ist ein Konzept, mit dem Sie Klassen mit unterschiedlichen Funktionalitäten in einer einzigen Schnittstelle erstellen können.
Im Allgemeinen gibt es zwei Arten: Kompilierzeit (Überladen) und Laufzeit (Überschreiben), aber Polymorphismus in PHP unterstützt kein Überladen, oder mit anderen Worten, Polymorphismus zur Kompilierzeit. Der bedeutendste Vorteil der Polymorphie in PHP besteht darin, dass Sie sich keine Gedanken über die technischen Einzelheiten der Definition machen müssen, welcher Code in welcher Klasse geschrieben wird, da alle auf die gleiche Weise verwendet werden.
Ein leicht verständliches Beispiel für objektorientierten PHP- Polymorphismus ist der Bereich unterschiedlicher geometrischer Formen. Es gibt viele Formen mit unterschiedlichen Längen, Breiten, Radien und anderen Parametern, aber alle Figuren haben eine Fläche. Machen Sie sich keine Sorgen, wenn Sie es nicht verstanden haben, da wir uns verschiedene Beispiele für Polymorphismus in PHP ansehen werden, um das Konzept und seine Implementierung besser zu verstehen.
Inhaltsverzeichnis
Wie implementiert man Polymorphismus in PHP?
Polymorphismus in PHP kann entweder durch die Verwendung von Schnittstellen oder abstrakten Klassen implementiert werden. Wir werden uns Beispiele ansehen, um es auf beide Arten durchzusetzen.
Beispiel für Polymorphismus in PHP zur Implementierung in Schnittstellen
Sie können die Schnittstelle als Blaupause für alle Klassen betrachten, die sie erweitern. Sie ähneln Klassen mit nur einem einzigen Hauptunterschied. Sie können Methodennamen und -argumente innerhalb von Schnittstellen deklarieren und definieren, aber Sie können keinen Methodencode schreiben. Jede Klasse, die eine Schnittstelle implementiert, implementiert alle ihre Methoden. Die Syntax einer Schnittstelle lautet:
Interface-BeispielInterface{

öffentliche Funktion methodName();
}
Da Sie sich jetzt mit Schnittstellen auskennen, schauen wir uns an, wie Polymorphismus in PHP in einer Schnittstelle implementiert wird.
<?php
Schnittstelle ShapeExmp{
Öffentliche Funktion calcArea();
}
Klasse SquareExmp implementiert ShapeExmp{
private $seite;
Öffentliche Funktion __construct($side){
$diese->Seite = $Seite;
}
Öffentliche Funktion calcArea(){
$area = $diese->Seite * $diese->Seite;
echo „Fläche des Quadrats = „.$area;
}
}
Klasse RectangleExmp implementiert ShapeExmp{
privat $breite1;
privat $höhe1;
Öffentliche Funktion __construct($width1,$height1){
$dies->Breite1 = $Breite1;
$dies->Höhe1 = $Höhe1;
}
Öffentliche Funktion calcArea(){
$area = $dies->Breite1 * $dies->Höhe1;
echo “<br>Fläche des Rechtecks = “.$area;
}
}
Klasse TriangleExmp implementiert ShapeExmp{
privat $cons1;
privat $breite1;
privat $höhe1;
Öffentliche Funktion __construct($cons1,$width1,$height1){
$this->cons1 = $cons1;
$dies->Breite1 = $Breite1;
$dies->Höhe1 = $Höhe1;
}
Öffentliche Funktion calcArea(){
$area = $this->cons1 * $this->width1 * $this->height1;
echo “<br>Fläche des Dreiecks= “.$area;
}
}
$squ = new SquareExmp(8);
$squ->calcArea();
$rect = new RectangleExmp(10,15);
$rect->calcArea();
$tri = new TriangleExmp(0.5,10,12);
$tri->calcArea();
?>
Ausgabe:
Fläche des Quadrats = 64
Fläche des Rechtecks = 150
Fläche des Dreiecks = 3
Wie Sie im obigen Beispiel sehen können, haben wir Polymorphismus in PHP über eine Schnittstelle implementiert. Wir haben die Fläche von drei Formen konstruiert und erhalten: Quadrat, Dreieck und Rechteck. Die implementierten Klassen ändern sich ständig und die Argumente auch, aber das Ergebnis ist immer die Fläche der Form. In ähnlicher Weise können Sie auch die Fläche anderer Formen wie Kreise, Parallelogramme, Ellipsen und mehr konstruieren und berechnen.
Beispiel für Polymorphismus in PHP zur Implementierung in abstrakten Klassen
Abstrakte Klassen in PHP sind die übergeordneten Klassen, für die Methoden definiert sind, aber nicht der Code. Sie werden mit Hilfe des Schlüsselwortes „abstract“ definiert. Sie können sie nur verwenden, um andere Klassen zu erben. Jede abstrakte Klasse hat eine oder mehrere abstrakte Methoden. Diese Klassen erfordern, dass ihre untergeordneten Klassen die Methoden mit demselben Namen füllen. Daher verwenden verschiedene untergeordnete Klassen die Methoden auf die gleiche Weise, wodurch Polymorphismus in PHP implementiert wird. Lassen Sie uns dies anhand eines Polymorphismus-Beispiels in PHP besser verstehen.

<?php
abstrakte Klasse shapeExp{
abstrakte geschützte Funktion calcArea();
}
Klasse RechteckExmp erweitert ShapeExmp{
var $x,$y;
Öffentliche Funktion __construct($x , $y){
$dies->x=$x;
$dies->y=$y;
}
Öffentliche Funktion calcArea(){
$a=$dies->x*$dies->y;
gib $a zurück;
}
}
Klasse circleExmp erweitert shapeExmp{
var $r;
Öffentliche Funktion __construct($r){
$dies->r=$r;
}
Öffentliche Funktion calcArea(){
$pi=3,142;
$a=pow($this->r,2)*$pi;
gib $a zurück;
}
}
Klasse squareExmp erweitert shapeExmp{
var $s;
öffentliche Funktion __construct($s){
$dies->s=$s;
}
Öffentliche Funktion calcArea(){
$a=$dies->s * $dies->s;
gib $a zurück;
}
}
$rect=neues RechteckExmp(8,10);
$area=$rect->calcArea();
echo „Rectangle area= $area <br>“;
$circ=neuer KreisExmp(5);
$area=$circ->calcArea();
echo „Kreisgebiet=$area<br>“;
$squ=neues QuadratExmp(7);
$area=$squ->calcArea();
echo „Quadratbereich = $bereich <br>“;
?>
Ausgabe:
Rechteckbereich = 80
Kreisfläche = 78,55
Quadratische Fläche = 49

Wie Sie im obigen Beispiel sehen können, haben wir zuerst eine abstrakte Klasse shapeExmp erstellt. Darin haben wir dann eine abstrakte Funktion calcArea() definiert. Um die Kreis-, Rechteck- und Quadratfläche zu berechnen, haben wir diese Klassen von der abstrakten Klasse abgeleitet und die abstrakte Funktion calcArea() verwendet. Ebenso können Sie die abstrakten Klassen verwenden, um Polymorphie in PHP zu implementieren und während der Laufzeit zu verwenden.
Kasse: PHP-Projekte auf Github
Lernen Sie Softwarekurse online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.
Fazit
Dies hätte alle Ihre Zweifel an Polymorphismus in PHP ausgeräumt. Sie können versuchen, es mit Hilfe einer beliebigen IDE oder eines Online-PHP-Compilers auf verschiedene Arten zu verwenden. PHP hat sich zu einer weit verbreiteten Programmiersprache entwickelt. Es gibt zahlreiche Karrieremöglichkeiten in PHP . Es eignet sich gut für die interaktive Webentwicklung und ist unerlässlich, um ein Full-Stack-Entwickler zu werden.
Wenn Sie eine Full-Stack-Entwicklungskarriere anstreben, können Sie sich das Executive PG-Programm von upGrad und IIIT-B im Kurs Full-Stack-Softwareentwicklung ansehen . Der Kurs bietet Ihnen eine Ausbildung in 16 verschiedenen Programmiersprachen und Tools. Mit mehr als 9 Projektaufgaben, die Sie während des Kurses erledigen müssen, gibt Ihnen upGrad Platzierungssicherheit. Es bietet Ihnen mehr als 500 Stunden an Schulungsmaterialien, mit denen Sie lernen, wie Sie robuste und skalierbare Websites und Anwendungen erstellen.
Was ist objektorientierte Programmierung?
Was ist Polymorphismus in der Programmierung?
Polymorphismus ist die Fähigkeit, mehr als eine Form zu haben. Zum Beispiel hat ein Hund 4 Beine, aber die Beine sind unterschiedlich. Dies ist eine andere Form desselben Objekts. In der Computerprogrammierung ist Polymorphismus die Fähigkeit, verschiedene Eingaben und eine einzige Ausgabe zu haben. Beispielsweise können wir eine Klasse von Personen, Arbeitern und Kunden haben, und jede Person hat unterschiedliche Eingaben. Sie haben unterschiedliche Eingaben, da jede Person einen anderen Namen, eine andere Adresse und eine andere Telefonnummer hat. Die Ausgabe ist jedoch für alle gleich, nämlich die Klasse Person.
Wie funktionieren Klassen und Objekte beim Programmieren?
Klassen sind eine grundlegende Einheit der objektorientierten Programmierung (OOP). Sie sind Blaupausen für Objekte und werden als solche verwendet, um Objekte zu erstellen und das Verhalten von Objekten zu definieren. Klassen können als die universellen Bausteine von OOP betrachtet werden. Sie werden verwendet, um Objekte zu erstellen, die für eine bestimmte Aufgabe oder Situation spezifisch sind. Anders als in der realen Welt können Klassen jedoch fast jederzeit und in beliebiger Reihenfolge erstellt werden. Sie können eine Klasse erstellen, noch bevor Sie wissen, wie sie verwendet wird – ein Prozess, der als „anonyme“ Klasseninstanziierung bekannt ist.