Class basic
๐
Senin, 14 April 2025 โฑ 3 menit baca
๐น 1. Apa itu Class?
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.
๐น 2. Struktur Dasar Class di PHP
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;
}
}
๐น 3. Property (Variabel)
Penulisan:
public $nama;
private $alamat;
protected $telepon;
Access Modifier:
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.
๐น 4. Method (Fungsi)
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;
}
๐น 5. Constructor (__construct)
Method khusus yang otomatis dipanggil saat objek dibuat.
public function __construct($nama) {
$this->nama = $nama;
}
๐น 6. Membuat dan Menggunakan Objek
$siswa = new Siswa("Andi");
echo $siswa->cetakNama();
๐น 7. Contoh Lengkap
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();
๐น 8. Inheritance (Pewarisan)
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";
}
}
๐น 9. Static Property & Method
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();
๐น 10. Interface & Trait (Konsep Lanjut)
- Interface: Kontrak yang harus diimplementasi.
- Trait: Reusable method yang bisa digunakan di banyak class.
interface Kendaraan {
public function jalan();
}
class Mobil implements Kendaraan {
public function jalan() {
return "Mobil berjalan...";
}
}
๐น Bonus: Accessor dan Mutator (Getter / Setter)
Mengontrol akses ke property yang bersifat private.
public function getNama() {
return $this->nama;
}
public function setNama($nama) {
$this->nama = $nama;
}
๐น Ringkasan Konsep Penting
| 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 |