⊗ppOpIhCn 30 of 107 menu

Konstruktors mantojumā OOP PHP

Mantojot var pārrakstīt vecāka konstruktoru. Apskatīsim piemērā. Pieņemsim, ka mums ir šāds vecāka klase:

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

Pieņemsim, ka no vecāka klases manto šāda klase:

<?php class Student extends User { } ?>

Pieņemsim, ka mēs gribam bērna klasē paplašināt konstruktoru, pievienojot tam papildu parametrus:

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

Šajā gadījumā mums obligāti jāizsauc vecāka konstruktors, izmantojot parent::__construct() kā pirmo rindu:

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

Komanda parent::__construct() būtībā ir vecāka konstruktors. Tāpēc padodam tajā nepieciešamos parametrus:

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

Tagad bērna klasē mācību gadu ierakstām bērna paša īpašumā:

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

Izveidosim getteri mācību gadam:

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

Pieņemsim, ka klase Employee manto no klases User no šīs nodarbības.

Pārrakstiet klasē Employee vecāka konstruktoru, pievienojot tam parametru ar vecumu un algu.

Izveidojiet getterus vecumam un algai.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt