PHP Access Modifiers

PHP Access Modifiers

Access Modifiers

Pengubah akses (access modifier) adalah suatu fitur di dalam bahasa pemrograman PHP yang digunakan untuk mengatur aksesibilitas properti atau fungsi dalam suatu class oleh bagian-bagian kode lain di dalam atau di luar class tersebut.

Terdapat tiga jenis pengubah akses di dalam PHP, yaitu:

  • public – Pengubah akses public memungkinkan properti atau fungsi dapat diakses dari mana saja, baik di dalam maupun di luar class.
  • protected – Pengubah akses protected mirip dengan private, namun properti atau fungsi dengan pengubah akses protected dapat diakses oleh class turunan (subclass).
  • private – Pengubah akses private memungkinkan properti atau fungsi hanya dapat diakses oleh kode di dalam class tersebut. Properti atau fungsi dengan pengubah akses private tidak dapat diakses oleh bagian-bagian kode di luar class.

Dalam contoh berikut diperlihatkan menambahkan tiga pengubah akses yang berbeda ke tiga properti (nama, warna, dan berat). Di sini, jika Anda mencoba mengatur properti nama, itu akan berfungsi dengan baik (karena properti nama bersifat public, dan dapat diakses dari mana saja). Namun, jika Anda mencoba menyetel properti warna atau bobot, ini akan mengakibatkan kesalahan fatal (karena properti warna dan bobot protected dan bersifat private):

Contoh

<?php
class Buah {
  public $nama;
  protected $warna;
  private $berat;
}

$mangga = new Buah();
$mangga->nama = 'Mangga'// OK
$mangga->warna = 'Kuning'// ERROR
$mangga->berat = '300'// ERROR
?>

Dalam contoh berikutnya diperlihatkan menambahkan pengubah akses ke dua fungsi. Di sini, jika Anda mencoba memanggil fungsi set_color() atau set_weight() akan mengakibatkan kesalahan fatal (karena kedua fungsi tersebut bersifat protected dan private), meskipun semua properti bersifat public:

Contoh

<?php
class Buah {
  public $nama;
  public $warna;
  public $berat;

  function set_name($n) {  // fungsi public (bawaan)
    $this->nama = $n;
  }
  protected function set_color($n) { // fungsi protected
    $this->warna = $n;
  }
  private function set_weight($n) { // fungsi private
    $this->berat = $n;
  }
}

$mangga = new Buah();
$mangga->set_name('Mangga'); // OK
$mangga->set_color('Kuning'); // ERROR
$mangga->set_weight('300'); // ERROR
?>

Tutorial sebelumnya : PHP Destructor
Tutorial setelahnya : PHP Inheritance
Semua Tutorial PHP : Tutorial PHP

Tinggalkan Balasan

Keranjang Belanja0
Keranjang belanja kosong ...
0