⊗ppOpIhCn 30 of 107 menu

PHP'de OOP'de Kalıtım Sırasında Yapıcı Metot

Kalıtım sırasında ebeveynin yapıcı metodunu geçersiz kılabilirsiniz. Bir örnek üzerinden inceleyelim. Aşağıdaki gibi bir ebeveyn sınıfımız olsun:

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

Ebeveyn sınıftan aşağıdaki sınıfın kalıtım aldığını varsayalım:

<?php class Student extends User { } ?>

Alt sınıfta yapıcıyı genişletip, ona ek parametreler eklemek istediğimizi varsayalım:

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

Bu durumda ilk satırda ebeveynin yapıcısını parent::__construct() ile çağırmamız kesinlikle gerekli:

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

parent::__construct() komutu aslında ebeveynin yapıcı metodudur. Bu nedenle gerekli parametreleri ona iletilim:

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

Şimdi alt sınıfta eğitim yılını alt sınıfın kendi özelliğine yazalım:

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

Eğitim yılı için bir alıcı metot yapalım:

<?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 sınıfının bu dersteki User sınıfından kalıtım aldığını varsayalım.

Employee sınıfında ebeveyn yapıcısını, yaş ve maaş parametreleri ekleyerek geçersiz kılın.

Yaş ve maaş için alıcı metotlar yapın.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet