⊗ppOpIhCn 30 of 107 menu

Konstruktori në Trashëgimi në OOP në PHP

Gjatë trashëgimisë, mund të rishkruani konstruktorin e prindit. Le të shohim në një shembull. Le të themi se kemi këtë klasë prind:

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

Le të themi se nga klasa prind trashëgohet kjo klasë:

<?php class Student extends User { } ?>

Le të themi se në klasën e fëmijës duam të zgjerojmë konstruktorin, duke shtuar parametra shtesë:

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

Në këtë rast, ne domosdoshmërisht duhet që në rreshtin e parë të thirrim konstruktorin e prindit përmes parent::__construct():

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

Komanda parent::__construct() në thelb është konstruktori i prindit. Prandaj le t'i kalojmë atij parametrat e kërkuar:

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

Tani në fëmijë, vitin e studimit do ta shkruajmë në vetinë e vet të fëmijës:

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

Le të bëjmë një getter për vitin e studimit:

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

Le të themi se klasa Employee trashëgon nga klasa User nga ky mësim.

Rishkruani në klasën Employee konstruktorin e prindit, duke shtuar në të parametra për moshën dhe pagën.

Bëni getter për moshën dhe pagën.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo