⊗ppOpIhCn 30 of 107 menu

Конструктор при наследовање во ООП во PHP

При наследување може да се преименува конструкторот на родителот. Ајде да погледнеме на пример. Нека имаме следнава класа на родителот:

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

Нека од родителската класа наследува следнава класа:

<?php class Student extends User { } ?>

Нека сакаме во класата-потомок да го прошириме конструкторот, додавајќи во него дополнителни параметри:

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

Во овој случај неопходно е првиот ред да го повикаме конструкторот на родителот преку parent::__construct():

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

Командата parent::__construct() во суштина е конструктор на родителот. Затоа ќе ги пренесеме во него потребните параметри:

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

Сега во потомокот годината на студии ќе ја запишеме во својство на потомокот:

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

Да направиме гетер за годината на студии:

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

Нека класата Employee наследува од класата User од оваа лекција.

Преименувајте во класата Employee конструкторот на родителот, додавајќи во него параметар со возраста и платата.

Направете гетери за возраста и платата.

Македонски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј