PHP mendukung inheritance, abstract class, dan interface.
Inheritance (pewarisan):
class Animal {
public function __construct(public string $nama) {}
public function bersuara(): string {
return "{$this->nama} bersuara!";
}
}
class Kucing extends Animal {
public function bersuara(): string {
return "{$this->nama}: Meong!";
}
}
$kucing = new Kucing("Milo");
echo $kucing->bersuara(); // "Milo: Meong!"
Abstract class:
abstract class Shape {
abstract public function luas(): float;
public function describe(): string {
return "Luas: " . $this->luas();
}
}
class Persegi extends Shape {
public function __construct(private float $sisi) {}
public function luas(): float {
return $this->sisi ** 2;
}
}
Interface:
interface Exportable {
public function toArray(): array;
public function toJson(): string;
}
class Product implements Exportable {
public function toArray(): array { return [...]; }
public function toJson(): string { return json_encode($this->toArray()); }
}