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:

Figure.php<?php
  interface Figure
  {
    public function getSquare();
    public function getPerimeter();
  }
?>

Lassen Sie uns die Klasse Quadrate schreiben, die die Methoden dieses Interfaces implementiert:

Quadrate.php<?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:

Rectangle.php<?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);
    }
  }
?>
Задание 1

Erstellen Sie die Klasse Disk, die das Interface Figure implementiert.