Schnittstelle in PHP | PHP-OOPs-Schnittstellen

Veröffentlicht: 2021-03-03

Inhaltsverzeichnis

Einführung

PHP ist eine objektorientierte Sprache, und eine Schnittstelle ist eines der Hauptmerkmale einer objektorientierten Programmiersprache. Die Schnittstelle ermöglicht es den Codierern, die Funktionen zu deklarieren, die die verschiedenen Definitionen in der Klasse enthalten, die diese Schnittstelle implementiert. Lesen Sie weiter, um die Schnittstelle in PHP zu verstehen . Sehen Sie sich auch die Schnittstellenbeispiele in PHP an, die im Artikel geteilt werden, um mehr Verständnis zu erlangen.

Schnittstelle in PHP

Eine Schnittstelle ist eine Funktion in der objektorientierten Programmierung, die es ermöglicht, Funktionen ohne Implementierung zu erstellen. Die Implementierung muss in die Klasse aufgenommen werden. Es hilft, die Komplexität der Methodendefinition zu vermeiden, da jede Klasse, die die Schnittstelle erbt, je nach Bedarf eine andere Implementierung haben kann. Die Verwendung der Schnittstelle in PHP ähnelt der Klasse, mit dem einzigen Unterschied, dass die Implementierung in den Funktionen der Schnittstelle nicht vorhanden ist und die Schnittstelle keine Variablen hat.

Merkmale einer Schnittstelle in PHP

  • Die Schnittstelle enthält den Code nicht.
  • Die Schnittstelle hat die Deklaration der Methode mit oder ohne Argumente, aber nicht die Definition.
  • Eine Klasse, die die Schnittstelle implementiert, sollte die Definition aller in der Schnittstelle deklarierten Methoden enthalten.
  • Eine Klasse kann mehrere Schnittstellen implementieren.
  • Eine Schnittstelle darf keine nicht abstrakten Methoden haben.

Syntax einer Schnittstelle

Die Schnittstelle muss vor der Verwendung deklariert werden. Die Syntax einer Schnittstelle ähnelt der einer Klasse, mit dem einzigen Unterschied, dass bei der Deklaration der Schnittstelle anstelle des Schlüsselworts class das Schlüsselwort interface verwendet wird. Unten ist die Syntax zum Deklarieren einer Schnittstelle in PHP :

<?php

//Deklaration der Schnittstelle in PHP

Schnittstelle <Schnittstellenname>

{

//Code

}

?>

Auf die innerhalb der Schnittstelle deklarierten Methoden kann zugegriffen werden, indem die Schnittstelle von der Klasse geerbt wird. Die Klasse erbt die Schnittstelle in PHP mit dem Schlüsselwort implements beim Deklarieren der Klasse.

Nachfolgend finden Sie die Syntax zum Implementieren einer Schnittstelle in PHP :

<?php

//Klassenerklärung

Die Klasse <Klassenname> implementiert <Schnittstellenname>

{

//Code

}

?>

Schnittstellenbeispiele in PHP

Um die Verwendung der Schnittstelle zu verstehen, werfen wir einen Blick auf das folgende Beispiel:

<?php

//Schnittstelle deklarieren

Schnittstelle Example_Shape

{

Öffentliche Funktion ShapeArea();

}

//Klasse, die die Schnittstelle erbt

Die Klasse Shape1 implementiert Example_Shape

{

Öffentliche Funktion ShapeArea()

{

Echo 'Fläche des Kreises';

}

}

//Klasse, die die Schnittstelle erbt

Die Klasse Shape2 implementiert Example_Shape

{

Öffentliche Funktion ShapeArea()

{

Echo 'Fläche des Platzes';

}

}

// Klasse ohne Verwendung der Schnittstelle

Klasse Shape3

{

Öffentliche Funktion AreaCal()

{

Echo 'Keine Schnittstelle';

}

}

$Obj1 = neue Form1; // Objekt für Klasse1

$Obj2 = neue Form2; // Objekt für Klasse2

$ obj3 = neue Form3; // Objekt für Klasse 3, verwendet keine Schnittstelle

Echo $obj1->ShapeArea();

Echo '<br>';

Echo $obj2->ShapeArea();

Echo '<br>';

Echo $obj3->AreaCal();

?>

Ausgabe

Bereich des Kreises

Fläche des Quadrats

Keine Schnittstelle

Erläuterung der Ausgabe

Die Klasse Shape1 hat die Definition einer Funktion, die innerhalb der Schnittstelle deklariert ist. Shape1 implementiert die Schnittstelle, daher hat es Zugriff auf die darin enthaltene Funktion und druckt „Fläche des Kreises“. Ähnlich ist die Erklärung für die Klasse Shape2 und die Ausgabe 'Fläche des Quadrats'. Die Klasse Shape3 implementiert die Schnittstelle nicht und funktioniert wie eine gewöhnliche Klasse in PHP.

Implementierung mehrerer Schnittstellen

Eine Klasse kann auch mehr als eine Schnittstelle implementieren. In solchen Fällen muss die Klasse die Definition aller Methoden haben, die in allen Schnittstellen deklariert sind, die die Klasse implementiert. Unten ist die Illustration der Implementierung von mehr als einer Schnittstelle in PHP .

<?php

// Deklaration der Schnittstelle

Schnittstellenbeispiel1

{

Öffentliche Funktion method1();

}

// Deklaration einer anderen Schnittstelle

Schnittstellenbeispiel2

{

Öffentliche Funktion method2();

}

//Klasse, die die beiden oben deklarierten Schnittstellen implementiert

Klasse Klasse1 implementiert Beispiel1, Beispiel2

{

// Definition der Methode von Interface1

Methode der öffentlichen Funktion1

{

Echo 'Innerhalb von Schnittstelle1 Methode1';

}

//Definition der Methode von Interface2

Methode der öffentlichen Funktion2

{

Echo 'Innerhalb von Schnittstelle2 Methode2;

}

}

Obj1 = neue Klasse1;

Obj2 = neue Klasse2;

Obj1->Methode1;

Obj2->Methode2;

?>

Ausgabe

Innerhalb von Schnittstelle1 Methode1

Innerhalb von Schnittstelle2 Methode2

Einige Punkte, die zur Implementierung mehrerer Schnittstellen zu beachten sind

  • Alle in der Schnittstelle deklarierten Methoden sollten öffentlich sein.
  • Die Funktion darf nicht das Schlüsselwort abstract haben.
  • Wenn der Programmierer vergisst, eine Schnittstellenfunktion zu definieren, gibt der Code einen Fehler aus.
  • Schnittstellen können keine Variablen enthalten.

Checkout: OOPs-Konzepte in PHP

Unterschied zwischen einer Schnittstelle und einer abstrakten Klasse

Im Folgenden sind einige der Unterschiede zwischen einer Schnittstelle und einer abstrakten Klasse aufgeführt:

  • Eine Schnittstelle enthält nur die Deklaration, aber eine abstrakte Klasse enthält sowohl die Methodendeklaration als auch ihre Definition.
  • Die Methoden in der Schnittstelle können nur öffentlich sein, während die Methoden in der abstrakten Klasse als öffentlich, privat oder geschützt deklariert werden können.
  • Eine Klasse kann mehr als eine Schnittstelle implementieren, während eine Klasse nur eine abstrakte Methode erweitern kann.

Fazit

Eine Schnittstelle in PHP ist eine Funktion, die es den Benutzern ermöglicht, öffentliche Methoden ohne Definition zu deklarieren. Dieser Artikel erklärte alle Informationen über die Schnittstelle mit ihrer Syntax und Beispielen. Wir hoffen, dass die Informationen in diesem Artikel Ihnen beim Verständnis des Konzepts helfen. Auf upGrad-Blogs können Sie ähnliche Themen auf Basis von PHP lernen. Für ein tieferes Verständnis können Sie sich bei upGrad für einen Online-Zertifizierungskurs zu PHP anmelden. upGrad bietet viele Zertifikatskurse an, die Sie bei Ihrer Karriere und Ihrem Lernen unterstützen können.

Wenn Sie mehr über Full-Stack-Softwareentwicklung erfahren möchten, sehen Sie sich das PG-Diplom in Full-Stack-Softwareentwicklung von upGrad & IIIT-B an, das für Berufstätige konzipiert ist und mehr als 500 Stunden strenge Schulungen, mehr als 9 Projekte und mehr bietet Aufgaben, IIIT-B-Alumni-Status, praktische praktische Schlusssteinprojekte und Arbeitsunterstützung bei Top-Unternehmen.

Werden Sie Full-Stack-Entwickler

UPGRAD UND IIIT-BANGALORES PG-DIPLOM IN FULL-STACK-SOFTWAREENTWICKLUNG
ERFAHREN SIE MEHR