Class adalah template atau blueprint untuk membuat objek. Dalam PHP, class digunakan untuk mengelompokkan data (property) dan fungsi (method) menjadi satu unit yang dapat digunakan berkali-kali.
class NamaClass {
// Property (variabel dalam class)
public $property1;
private $property2;
// Constructor (dipanggil otomatis saat objek dibuat)
public function __construct($param1) {
$this->property1 = $param1;
}
// Method (fungsi dalam class)
public function namaMethod() {
return $this->property1;
}
}
public $nama;
private $alamat;
protected $telepon;
public: Bisa diakses dari mana saja.private: Hanya bisa diakses dari dalam class itu sendiri.protected: Bisa diakses dari class itu sendiri dan class turunannya.Method adalah fungsi yang berada dalam class dan digunakan untuk memanipulasi data atau menjalankan logika tertentu.
public function cetakNama() {
return "Nama saya adalah " . $this->nama;
}
__construct)Method khusus yang otomatis dipanggil saat objek dibuat.
public function __construct($nama) {
$this->nama = $nama;
}
$siswa = new Siswa("Andi");
echo $siswa->cetakNama();
class Siswa {
private $nama;
private $umur;
public function __construct($nama, $umur) {
$this->nama = $nama;
$this->umur = $umur;
}
public function perkenalan() {
return "Halo, saya $this->nama dan umur saya $this->umur tahun.";
}
// Setter
public function setUmur($umur) {
$this->umur = $umur;
}
// Getter
public function getUmur() {
return $this->umur;
}
}
$siswa1 = new Siswa("Eris", 25);
echo $siswa1->perkenalan();
Class bisa mewarisi (inherit) class lain:
class Pegawai {
public $nama;
public function info() {
return "Nama: $this->nama";
}
}
class Manager extends Pegawai {
public $departemen;
public function infoLengkap() {
return $this->info() . ", Departemen: $this->departemen";
}
}
Digunakan tanpa harus membuat objek:
class Util {
public static $versi = "1.0";
public static function sayHello() {
return "Hello dari Util!";
}
}
echo Util::$versi;
echo Util::sayHello();
interface Kendaraan {
public function jalan();
}
class Mobil implements Kendaraan {
public function jalan() {
return "Mobil berjalan...";
}
}
Mengontrol akses ke property yang bersifat private.
public function getNama() {
return $this->nama;
}
public function setNama($nama) {
$this->nama = $nama;
}
| Konsep | Fungsi |
|---|---|
class |
Membuat cetakan/struktur objek |
property |
Variabel dalam class |
method |
Fungsi dalam class |
__construct() |
Dipanggil saat objek dibuat |
this |
Referensi ke objek saat ini |
private/public/protected |
Pengaturan akses |
extends |
Mewarisi class lain |
static |
Tanpa instansiasi |