⊗ppOpIhCn 30 of 107 menu

Konstruktori perinnässä OOP PHP:ssä

Perinnässä voit ylikirjoittaa vanhemman konstruktorin. Katsotaanpa esimerkkiä. Oletetaan, että meillä on seuraava vanhemman luokka:

<?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; } } ?>

Oletetaan, että vanhemman luokasta perii seuraava luokka:

<?php class Student extends User { } ?>

Oletetaan, että haluamme jälkeläisluokassa laajentaa konstruktoria lisäämällä siihen lisäparametreja:

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

Tässä tapauksessa meidän on välttämättä kutsuttava ensimmäisellä rivillä vanhemman konstruktoria komennolla parent::__construct():

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

Komento parent::__construct() on olennaisesti vanhemman konstruktori. Siksi annamme sille vaaditut parametrit:

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

Nyt jälkeläisessä opintovuosi kirjoitetaan jälkeläisen omaan ominaisuuteen:

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

Tehdään getteri opintovuodelle:

<?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; } } ?>

Oletetaan, että luokka Employee perii luokasta User tästä oppitunnista.

Ylikirjoita luokassa Employee vanhemman konstruktori lisäämällä siihen parametrin iälle ja palkalle.

Tee getterit iälle ja palkalle.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää