PHP OOP - Pengubah Akses
PHP - Pengubah Akses
Properti dan metode dapat memiliki pengubah akses yang mengontrol di mana mereka dapat diakses.
Ada tiga pengubah akses:
-
public
- properti atau metode dapat diakses dari mana saja. Ini adalah default -
protected
- properti atau metode dapat diakses di dalam kelas dan oleh kelas yang diturunkan dari kelas itu -
private
- properti atau metode HANYA dapat diakses di dalam kelas
Dalam contoh berikut, kami telah menambahkan tiga pengubah akses yang berbeda ke tiga properti (nama, warna, dan bobot). Di sini, jika Anda mencoba mengatur properti nama, itu akan berfungsi dengan baik (karena properti nama bersifat publik, dan dapat diakses dari mana saja). Namun, jika Anda mencoba untuk mengatur properti warna atau berat, itu akan menghasilkan kesalahan fatal (karena properti warna dan berat dilindungi dan pribadi):
Contoh
<?php
class Fruit {
public
$name;
protected $color;
private $weight;
}
$mango = new Fruit();
$mango->name = 'Mango'; // OK
$mango->color = 'Yellow'; // ERROR
$mango->weight = '300'; // ERROR
?>
Pada contoh berikutnya kami telah menambahkan pengubah akses ke dua fungsi. Di sini, jika Anda mencoba memanggil fungsi set_color() atau set_weight() itu akan menghasilkan kesalahan fatal (karena kedua fungsi tersebut dianggap dilindungi dan pribadi), meskipun semua properti bersifat publik:
Contoh
<?php
class Fruit {
public
$name;
public $color;
public $weight;
function set_name($n) {
// a public function (default)
$this->name = $n;
}
protected function set_color($n) {
// a protected function
$this->color = $n;
}
private function set_weight($n) {
// a private function
$this->weight = $n;
}
}
$mango = new Fruit();
$mango->set_name('Mango'); // OK
$mango->set_color('Yellow'); // ERROR
$mango->set_weight('300'); // ERROR
?>