⊗ppOpIhCn 30 of 107 menu

Կոնստրուկտորը ժառանգման ժամանակ OOP-ում 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हिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել