Praktische Anwendung von Interfaces in der OOP in PHP
Lassen Sie uns die Anwendung von Interfaces in der Praxis ausprobieren. Wir lösen die Aufgabe zu den Figuren aus der vorherigen Lektion, aber diesmal unter Verwendung von Interfaces, anstatt abstrakter Klassen.
Also, jetzt haben wir das Interface Figure gegeben:
<?php
interface Figure
{
public function getSquare();
public function getPerimeter();
}
?>
Lassen Sie uns die Klasse Quadrate schreiben, die
die Methoden dieses Interfaces implementiert:
<?php
class Quadrate implements Figure
{
private $a;
public function __construct($a)
{
$this->a = $a;
}
public function getSquare()
{
return $this->a * $this->a;
}
public function getPerimeter()
{
return 4 * $this->a;
}
}
?>
So funktioniert es: Wenn man vergisst, eine
Methode zu implementieren, die im Interface beschrieben ist,
wird PHP einen fatalen Fehler ausgeben. Lassen Sie uns
auch die Klasse Rectangle implementieren:
<?php
class Rectangle implements Figure
{
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);
}
}
?>
Erstellen Sie die Klasse Disk,
die das Interface Figure implementiert.