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
}
}
?>
Tips: OOP membuat kode lebih terstruktur, maintainable, dan reusable. Pelajari design patterns seperti Singleton, Factory, dan MVC.