Kata kunci interface
Kata kunci interface digunakan untuk membuat interface - konstruksi khusus yang menentukan metode mana yang harus diimplementasikan oleh sebuah kelas. Interface hanya berisi deklarasi metode tanpa implementasinya. Kelas yang mengimplementasikan interface harus mengandung semua metode yang dideklarasikan dalam interface.
Sintaks
interface InterfaceName {
public function method1();
public function method2($param);
// ...
}
Contoh
Mari buat interface sederhana dan kelas yang mengimplementasikannya:
<?php
interface Logger {
public function log($message);
}
class FileLogger implements Logger {
public function log($message) {
echo "Logging to file: " . $message;
}
}
$logger = new FileLogger();
$logger->log("Test message");
?>
Hasil eksekusi kode:
'Logging to file: Test message'
Contoh
Interface dapat berisi beberapa metode, dan kelas harus mengimplementasikan semuanya:
<?php
interface Shape {
public function calculateArea();
public function calculatePerimeter();
}
class Circle implements Shape {
private $radius;
public function __construct($radius) {
$this->radius = $radius;
}
public function calculateArea() {
return 3.14 * $this->radius * $this->radius;
}
public function calculatePerimeter() {
return 2 * 3.14 * $this->radius;
}
}
$circle = new Circle(5);
echo "Area: " . $circle->calculateArea();
?>
Hasil eksekusi kode:
'Area: 78.5'