⊗ppOpIhCn 30 of 107 menu

Konstruktor vid arv i OOP i PHP

Vid arv är det möjligt att åsidosätta förälderns konstruktor. Låt oss titta på ett exempel. Antag att vi har följande förälderklass:

<?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 att följande klass ärver från förälderklassen:

<?php class Student extends User { } ?>

Antag att vi vill utöka konstruktorn i barnklassen genom att lägga till ytterligare parametrar:

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

I det här fallet måste vi på första raden anropa förälderns konstruktor via parent::__construct():

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

Kommandot parent::__construct() är i princip förälderns konstruktor. Därför skickar vi in de nödvändiga parametrarna:

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

Nu i barnklassen skriver vi studieåret till barnets egen egenskap:

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

Låt oss skapa en getter för 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 att klassen Employee ärver från klassen User från denna lektion.

Åsidosätt i klassen Employee förälderns konstruktor genom att lägga till parametrar för ålder och lön.

Skapa getters för ålder och lön.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa