Junior
Mis on laiendus (extend) PHP kontekstis?
sobes.tech AI
Vastus AI-lt
PHP-s on laiendamine või pärimine mehhanism, mis võimaldab ühel klassil (alamklass või pärandklass) pärida teise klassi (vanema või põhiklassi) omadused ja meetodid.
Võtmesõna extends kasutatakse vanema klassi näitamiseks.
Pärimise eelised:
- Koodi taaskasutus: Ei ole vaja kirjutada sama koodi mitu korda.
- Laiendatavus: Alamklass võib lisada uusi omadusi ja meetodeid või üle kirjutada olemasolevad vanemklassist.
- Polümorfism: Erinevate klasside objektid võivad olla töödeldud kui ühise vanemklassi objektid.
Näide:
<?php
class Animal {
public function eat() {
echo "Loom sööb.";
}
}
class Dog extends Animal {
public function bark() {
echo "Koer haukab.";
}
}
$dog = new Dog();
$dog->eat(); // Vanemklassi meetodi kutsumine
$dog->bark(); // Alamklassi meetodi kutsumine
?>
Alamklass ei päranda:
- Privaatseid omadusi ja meetodeid (kuigi need on objektis olemas, neid ei saa otse alamklassist kutsuda).
- Vanemklassi konstruktor ei kutsuta automaatselt, kui luuakse alamklassi objekt, välja arvatud juhul, kui see on selgelt märgitud
parent::__construct()abil.