Sobes.tech
Junior

Čo je rozšírenie (extend) v kontexte PHP?

sobes.tech AI

Odpoveď od AI

Rozšírenie, alebo dedičstvo, v PHP je mechanizmus, ktorý umožňuje jednej triede (potomkovi alebo odvodenému triede) dediť vlastnosti a metódy inej triedy (rodičovskej alebo základnej triedy).

Kľúčové slovo extends sa používa na označenie rodičovskej triedy.

Výhody dedičstva:

  • Opakované použitie kódu: Nie je potrebné písať ten istý kód viackrát.
  • Rozšíriteľnosť: Potomková trieda môže pridávať nové vlastnosti a metódy alebo prepísať existujúce z rodičovskej triedy.
  • Polymorfizmus: Objektov rôznych tried možno spracovávať ako objekty spoločnej rodičovskej triedy.

Príklad:

<?php

class Animal {
    public function eat() {
        echo "Zvieratko jeje.";
    }
}

class Dog extends Animal {
    public function bark() {
        echo "Pes šteka.";
    }
}

$dog = new Dog();
$dog->eat(); // Volanie metódy z rodičovskej triedy
$dog->bark(); // Volanie metódy z potomkovej triedy

?>

Potomková trieda ne dedí:

  • Privátne vlastnosti a metódy (hoci existujú v objekte, nemôžu byť priamo volané z potomkovej triedy).
  • Konštruktor rodičovskej triedy sa nevolá automaticky pri vytváraní objektu potomkovej triedy, ak nie je výslovne uvedené pomocou parent::__construct().