⊗ppOpIhCn 30 of 107 menu

Konstruktor öröklődéskor OOP-ban PHP-ben

Öröklődéskor felül lehet definiálni a szülő konstruktorát. Nézzünk egy példát. Tegyük fel, hogy a következő szülő osztályunk van:

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

Tegyük fel, hogy a szülő osztálytól a következő osztály örököl:

<?php class Student extends User { } ?>

Tegyük fel, hogy az utód osztályban ki szeretnénk bővíteni a konstruktort, hozzáadva további paramétereket:

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

Ebben az esetben kötelezően az első sorban meg kell hívnunk a szülő konstruktorát a parent::__construct() segítségével:

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

A parent::__construct() parancs lényegében a szülő konstruktora. Ezért adjuk át neki a szükséges paramétereket:

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

Most az utódban a tanulmányi évet írjuk az utód saját tulajdonságába:

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

Készítsünk gettert a tanulmányi évhez:

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

Tegyük fel, hogy a Employee osztály örököl a User osztálytól ebből a leckéből.

Definiálja felül a Employee osztályban a szülő konstruktorát, hozzáadva paramétert az életkorral és a fizetéssel.

Készítsen gettereket az életkorhoz és a fizetéshez.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás