Sobes.tech
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.