⊗ppOpIfCD 70 of 107 menu

Deklaration eines Konstruktors in einem Interface in OOP in PHP

In einem Interface kann ebenfalls ein Konstruktor einer Klasse deklariert werden. Schauen wir uns ein Beispiel an. Angenommen, wir haben uns entschieden, eine Klasse Rectangle zu erstellen, in der es Methoden zur Berechnung der Fläche, des Umfangs sowie einen Konstruktor gibt, der zwei Parameter entgegennimmt. Beschreiben wir unsere Klasse mit Hilfe eines Interfaces:

<?php interface iRectangle { public function __construct($a, $b); // Konstruktor mit zwei Parametern public function getSquare(); public function getPerimeter(); } ?>

Lassen Sie uns eine Implementierung unseres Interfaces iRectangle schreiben:

<?php class Rectangle implements iRectangle { private $a; private $b; public function __construct($a, $b) { $this->a = $a; $this->b = $b; } public function getSquare() { return $this->a * $this->b; } public function getPerimeter() { return 2 * ($this->a + $this->b); } } ?>

Was hat uns die Deklaration des Konstruktors im Interface gebracht? Erstens werden wir nicht vergessen, den Konstruktor in der Klasse zu implementieren. Zweitens gibt das Interface explizit an, dass der Konstruktor der Klasse zwei Parameter entgegennehmen muss: nicht mehr und nicht weniger. Dies schützt uns ebenfalls vor versehentlichen Fehlern.

Warum haben wir ein separates Interface iRectangle erstellt, anstatt den Konstruktor zum Interface Figure hinzuzufügen? Weil alle Figuren eine unterschiedliche Anzahl von Seiten haben und dementsprechend eine unterschiedliche Anzahl von Parametern im Konstruktor. Daher mussten wir ein separates, spezifischeres Interface genau für Rechtecke erstellen.

Erstellen Sie ein Interface iCube, das die Figur Würfel beschreibt. Ihr Interface soll einen Konstruktor beschreiben, der die Seitenlänge des Würfels als Parameter entgegennimmt, sowie Methoden zur Ermittlung des Volumens des Würfels und der Oberfläche.

Erstellen Sie eine Klasse Cube, die das Interface iCube implementiert.

Erstellen Sie ein Interface iUser, das einen Benutzer beschreibt. Es wird angenommen, dass der Benutzer einen Namen und ein Alter hat und diese Felder als Parameter des Konstruktors übergeben werden. Ihr Interface soll ebenfalls vorgeben, dass für den Benutzer Getter (aber keine Setter) für Namen und Alter vorhanden sein werden.

Erstellen Sie eine Klasse User, die das Interface iUser implementiert.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen