⊗ppOpIhCn 30 of 107 menu

Konstruktor ved arv i OOP i PHP

Ved arv kan man overskrive forældrekonsruktøren. Lad os se et eksempel. Antag at vi har følgende forældreklasse:

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

Antag at følgende klasse arver fra forældreklassen:

<?php class Student extends User { } ?>

Antag at vi i barnklassen ønsker at udvide konstruktøren ved at tilføje yderligere parametre:

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

I dette tilfælde er vi nødt til at kalde forældrekonsruktøren via parent::__construct() som den første linje:

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

Kommandoen parent::__construct() er i virkeligheden forældrekonsruktøren. Så lad os sende de nødvendige parametre til den:

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

Lad os nu i barnklassen indsætte studieåret i barnklassens egen egenskab:

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

Lad os lave en getter for studieåret:

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

Antag at klassen Employee arver fra klassen User fra denne lektion.

Overskriv i klassen Employee forældrekonsruktøren, og tilføj til den parametre for alder og løn.

Lav getters for alder og lon.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis