⊗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šuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш