Definisi variabel suatu kelas di php5 oop mengikuti kontrol akses, yaitu:
publik berarti global, dan dapat diakses oleh subkelas di dalam dan di luar kelas
private berarti pribadi, dan hanya dapat digunakan di dalam kelas ini
; hanya kelas ini atau Dapat diakses di subkelas atau kelas induk
;
kelas Kelas Dasar {
publik $publik = 'publik';
pribadi $pribadi = 'pribadi';
dilindungi $dilindungi = 'dilindungi';
fungsi __konstruksi(){
}
fungsi print_var(){
cetak $ini->publik;echo '<br />';
cetak $ini->pribadi; echo '<br />';
cetak $ini->dilindungi; echo '<br />';
}
}
kelas Subkelas extend BaseClass {
// public $public = 'public2';
dilindungi $dilindungi ='dilindungi2';
fungsi __konstruksi(){
echo $this->protected;//Dapat diakses, karena kelas didefinisikan dilindungi, sehingga dapat berada di kelas atau subkelas ini, dan nilainya dapat diulang di subkelas
gema '<br />';
echo $this->private;//error karena bersifat pribadi dan hanya dapat digunakan di kelas dasar yang mendefinisikannya.
}
}
$obj1 = Kelas Dasar baru();
$obj1->print_var();
//echo $obj1->protected;//error Karena dilindungi, maka hanya dapat dipanggil dalam kelas ini atau dalam subkelas dan kelas induk.
//echo $obj1->private;//error private seperti di atas, hanya dapat dipanggil dalam kelas ini
echo $obj1->publik;
gema "<jam />";
$obj2 = Subkelas baru();
gema '<br />';
echo $obj2->publik;echo '<br />';
echo $obj2->dilindungi;
//echo $obj2->pribadi;//kesalahan
//echo $obj2->dilindungi;
?>