OOP Lanjutan — PHP

PHP mendukung inheritance, abstract class, dan interface. Inheritance (pewarisan): class Animal { public function __construct(public string $nama) {} public fun

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()); }
}

Yang akan kamu pelajari