Sobes.tech
Junior

Kas yra plėtinys (extend) PHP kontekste?

sobes.tech AI

Atsakymas iš AI

Plėtimas, arba paveldėjimas, PHP yra mechanizmas, leidžiantis vienai klasei (vaiko arba paveldėtoji klasė) paveldėti kitos klasės (tėvo arba bazinės klasės) savybes ir metodus.

Raktinis žodis extends naudojamas nurodyti tėvo klasę.

Paveldėjimo privalumai:

  • Kodo pakartotinis naudojimas: Nereikia rašyti to paties kodo kelis kartus.
  • Plėtojimas: Vaiko klasė gali pridėti naujų savybių ir metodų arba perrašyti esamus iš tėvo klasės.
  • Polimorfizmas: Skirtingų klasių objektai gali būti apdorojami kaip bendros tėvo klasės objektai.

Pavyzdys:

<?php

class Animal {
    public function eat() {
        echo "Gyvūnas valgo.";
    }
}

class Dog extends Animal {
    public function bark() {
        echo "Šuo loja.";
    }
}

$dog = new Dog();
$dog->eat(); // Iš tėvo klasės iškvietimas
$dog->bark(); // Iš vaiko klasės iškvietimas

?>

Vaiko klasė ne paveldi:

  • Privatines savybes ir metodus (nors jie egzistuoja objekte, jų tiesiogiai iš vaiko klasės iškviesti negalima).
  • Tėvo klasės konstruktorius automatiškai neiškviečiamas, kai kuriamas vaiko klasės objektas, nebent tai būtų aiškiai nurodyta naudojant parent::__construct().