Toegangsmodifiseerders en eienskappe in OOP in PHP
Daar moet gelet word op die feit dat die gebruik van eienskappe - nie oorerwing is nie. Met oorerwing word private metodes en eienskappe nie geërf nie.
By eienskappe is alles omgekeerd: in die klas wat die eienskap gebruik, sal beide openbare en private metodes en eienskappe van die klas toeganklik wees.
Kom ons kyk na 'n voorbeeld. Laat ons die volgende eenskap hê met 'n private metode:
<?php
trait TestTrait
{
private function method()
{
return '!!!';
}
}
?>
Laat ons ons eenskap aan die klas koppel:
<?php
class Test
{
use TestTrait;
}
new Test;
?>
Laat ons die private metode van die eenskap gebruik:
<?php
class Test
{
use TestTrait; // koppel die eenskap
public function __construct()
{
echo $this->method(); // sal '!!!' uitvoer
}
}
new Test;
?>