Πρακτική εφαρμογή διεπαφών στην ΑΝΠ στη PHP
Ας δοκιμάσουμε την πρακτική εφαρμογή των διεπαφών. Ας λύσουμε το πρόβλημα με τα σχήματα από το προηγούμενο μάθημα, αλλά τώρα χρησιμοποιώντας διεπαφές, και όχι αφηρημένες κλάσεις.
Λοιπόν, τώρα μας δίνεται η διεπαφή Figure:
<?php
interface Figure
{
public function getSquare();
public function getPerimeter();
}
?>
Ας γράψουμε την κλάση Quadrate, η οποία
θα υλοποιεί τις μεθόδους αυτής της διεπαφής:
<?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;
}
}
?>
Πώς λειτουργεί αυτό: αν ξεχάσουμε να υλοποιήσουμε
οποιαδήποτε μέθοδο, που περιγράφεται στη διεπαφή,
η PHP θα μας εμφανίσει ένα μοιραίο σφάλμα. Ας
υλοποιήσουμε επίσης την κλάση Rectangle:
<?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);
}
}
?>
Δημιουργήστε την κλάση Disk,
που υλοποιεί τη διεπαφή Figure.