Amalan Mengaplikasikan Antara Muka dalam OOP dalam PHP
Mari kita cuba aplikasi antara muka dalam amalan. Mari selesaikan masalah bentuk dari pelajaran sebelumnya, tetapi menggunakan antara muka, bukan kelas abstrak.
Jadi, sekarang kita diberi antara muka Figure:
<?php
interface Figure
{
public function getSquare();
public function getPerimeter();
}
?>
Mari tulis kelas Quadrate yang
akan melaksanakan kaedah antara muka ini:
<?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;
}
}
?>
Begini caranya berfungsi: jika terlupa melaksanakan
mana-mana kaedah yang diterangkan dalam antara muka,
PHP akan memaparkan ralat fatal kepada kita. Mari
laksanakan juga kelas 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);
}
}
?>
Buat kelas Disk,
yang melaksanakan antara muka Figure.