⊗ppOpIhCn 30 of 107 menu

Konstruktør ved arv i OOP i PHP

Ved arv kan man overstyre forelderens konstruktør. La oss se på et eksempel. La oss si at vi har følgende forelderklasse:

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

La oss si at følgende klasse arver fra forelderklassen:

<?php class Student extends User { } ?>

La oss si at vi i barnet-klassen vil utvide konstruktøren, ved å legge til flere parametere:

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

I dette tilfellet er vi nødt til å kalle forelderens konstruktør på første linje via parent::__construct():

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

Kommandoen parent::__construct() er i hovedsak forelderens konstruktør. Derfor sender vi de nødvendige parameterne til den:

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

Nå kan vi i barnet-klassen skrive studieåret inn i dens egen egenskap:

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

La oss lage 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; } } ?>

La klassen Employee arve fra klassen User fra denne leksjonen.

Overstyr i klassen Employee forelderens konstruktør, og legg til parametere for alder og lønn.

Lag gettere for alder og lønn.

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