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<?php
  trait TestTrait
  {
    private function method()
    {
      return '!!!';
    }
  }
?>

Laat ons ons eenskap aan die klas koppel:

php<?php
  class Test
  {
    use TestTrait;
  }
  
  new Test;
?>

Laat ons die private metode van die eenskap gebruik:

php<?php
  class Test
  {
    use TestTrait; // koppel die eenskap
    
    public function __construct()
    {
      echo $this->method(); // sal '!!!' uitvoer
    }
  }
  
  new Test;
?>