Modifikatorji dostopa in lastnosti v OOP v PHP
Opozoriti vas moramo, da uporaba lastnosti - ni dedovanje. Pri dedovanju zasebne metode in lastnosti niso podedovane.
Pri lastnostih je vse obratno: v razredu, ki uporablja lastnost, bodo dostopne tako javne kot tudi zasebne metode in lastnosti razreda.
Poglejmo si primer. Recimo, da imamo naslednjo lastnost z zasebno metodo:
<?php
trait TestTrait
{
private function method()
{
return '!!!';
}
}
?>
Povežimo našo lastnost z razredom:
<?php
class Test
{
use TestTrait;
}
new Test;
?>
Uporabimo zasebno metodo lastnosti:
<?php
class Test
{
use TestTrait; // povežemo lastnost
public function __construct()
{
echo $this->method(); // izpiše '!!!'
}
}
new Test;
?>