Praktik Penerapan Interface dalam OOP di PHP
Mari kita coba penerapan interface dalam praktik. Kita akan menyelesaikan masalah tentang bentuk dari pelajaran sebelumnya, tetapi sekarang menggunakan interface, bukan kelas abstrak.
Jadi, sekarang kita diberikan interface Figure:
<?php
interface Figure
{
public function getSquare();
public function getPerimeter();
}
?>
Mari kita tulis kelas Quadrate yang
akan mengimplementasikan metode dari interface 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;
}
}
?>
Berikut cara kerjanya: jika kita lupa mengimplementasikan
suatu metode yang dijelaskan dalam interface,
PHP akan memberikan kita error fatal. Mari
implementasikan 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);
}
}
?>
Buatlah kelas Disk,
yang mengimplementasikan interface Figure.