Methods overriding

Явно само public методи и пропъртита могат да се оверрайдват.

Това долу ще гръмне, независимо дали „детското“ alpha() е с видимост private или protected.

class Roditel
{
    public function alpha(): string
    {
        return '11111111';
    }
}
class Dete extends Roditel
{
    private function alpha(): string
    {
        return '2222222';
    }
}
$d = new Dete();
echo $d->alpha();

Fatal error: Access level to Dete::alpha() must be public (as in class Roditel) in […][…] on line 13

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *