Kembali ke Modul

OOP

Pelajari Object-Oriented Programming dalam PHP

13. OOP (Object-Oriented Programming)

Class dan Object
<?php
class Person {
    public $name;
    public $age;
    
    public function __construct($name, $age) {
        $this->name = $name;
        $this->age = $age;
    }
    
    public function info() {
        return "{$this->name} berusia {$this->age} tahun";
    }
}

$person = new Person("Budi", 25);
echo $person->info(); // Budi berusia 25 tahun
?>
Inheritance (Pewarisan)
<?php
class Animal {
    public $name;
    
    public function sound() {
        return "Suara hewan";
    }
}

class Dog extends Animal {
    public function sound() {
        return "Guk guk!";
    }
}

$dog = new Dog();
$dog->name = "Buddy";
echo $dog->sound(); // Guk guk!
?>
Access Modifiers
<?php
class BankAccount {
    public $accountNumber;      // Bisa diakses dari mana saja
    protected $balance;          // Hanya di class dan derived class
    private $pin;                // Hanya di class ini
    
    public function deposit($amount) {
        $this->balance += $amount;
    }
    
    public function getBalance() {
        return $this->balance;
    }
}
?>
Interface dan Abstract
<?php
interface PaymentInterface {
    public function pay($amount);
    public function refund($amount);
}

abstract class Payment implements PaymentInterface {
    protected $balance = 0;
    
    abstract public function process();
}

class CreditCard extends Payment {
    public function pay($amount) {
        $this->balance -= $amount;
    }
    
    public function refund($amount) {
        $this->balance += $amount;
    }
    
    public function process() {
        // Process logic
    }
}
?>