PHP 5 používá klíčové slovo final pro ochranu rodičovských tříd, aby nemohly být přepsány jejich potomky. Final může být použito před jménem třídy nebo metody.

<?php 
  final class Trida{ 
  public $vlastnost; 
    public function __construct(){ 
    echo '$this->vlastnost je vypsána'; 
    } 
  } 
   
$instance = new Trida(); 
   
  class PotomekTridy extends Trida{ 
  //další definice 
  } 
?>

Příklad vyvolá fatální chybu, není možné třídu označenou jako final přepisovat.

Pozn. red.: Zdůrazňujeme, že tento text se týká PHP 5.

2 Příspěvků v diskuzi

  1. Neviem ale podla mna ked sa da pred tried final tak uz nemoze byt dedena vobec a tym padom ukazka pouzita tu nebude fungovat. Len ak sa da final pred metodu tak sa moze rodic dedit ale final metoda sa nemoze prepisat u potomka.

  2. Anonymní: a s cim mas problem? Vzdyt tam je napsano „Příklad vyvolá fatální chybu, není možné třídu označenou jako final přepisovat.“.

Odpovědět