⊗ppOpIhCn 30 of 107 menu

Konstruktor pärimisel OOP-s PHP-s

Pärimisel on võimalik ümber määrata vanema konstruktorit. Vaatame seda näite abil. Olgu meil järgmine vanema klass:

<?php class User { private $name; private $surn; public function __construct($name, $surn) { $this->name = $name; $this->surn = $surn; } public function getName() { return $this->name; } public function getSurn() { return $this->surn; } } ?>

Olgu vanemaklassist pärib järgmine klass:

<?php class Student extends User { } ?>

Oletame, et soovime järglasklassis laiendada konstruktorit, lisades sellesse täiendavaid parameetreid:

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { } } ?>

Sellisel juhul peime ⁅kohustuslikult⁆ esimesel real kutsuma välja vanema konstruktori käsuga parent::__construct():

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { parent::__construct($name, $surn); } } ?>

Käsk parent::__construct() on olemuselt vanema konstruktor. Seega edastame sellele nõutud parameetrid:

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { parent::__construct($name, $surn); } } ?>

Nüüd kirjutame järglases õppeaasta järglase enda omadusse:

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { parent::__construct($name, $surn); $this->year = $year; } } ?>

Teeme getteri õppeaasta jaoks:

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { parent::__construct($name, $surn); $this->year = $year; } public function getYear() { return $this->year; } } ?>

Olgu klass Employee pärib klassist User sellest õppetükist.

Määrake klassis Employee ümber vanema konstruktor, lisades sellesse parameetri vanuse ja palgaga.

Tehke getterid vanuse ja palga jaoks.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu