⊗ppOpIhCn 30 of 107 menu

Constructor bij overerving in OOP in PHP

Bij overerving is het mogelijk om de constructor van de ouder te overschrijven. Laten we een voorbeeld bekijken. Stel dat we de volgende ouderklasse hebben:

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

Stel dat de volgende klasse erven van de ouderklasse:

<?php class Student extends User { } ?>

Stel dat we in de nakomelingenklasse de constructor willen uitbreiden door er extra parameters aan toe te voegen:

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

In dit geval moeten we verplicht op de eerste regel de constructor van de ouder aanroepen via parent::__construct():

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

De opdracht parent::__construct() is in feite de constructor van de ouder. Daarom geven we hem de vereiste parameters door:

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

Nu schrijven we in de nakomeling het studiejaar in zijn eigen eigenschap van de nakomeling:

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

Laten we een getter maken voor het studiejaar:

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

Stel dat de klasse Employee erven van de klasse User uit deze les.

Herschrijf in de klasse Employee de constructor van de ouder door er parameters voor leeftijd en salaris aan toe te voegen.

Maak getters voor de leeftijd en het salaris.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren