Konstruktor irsda OOP-də PHP-də
Irs alanda valideynin konstruktorunu yenidən təyin edə bilərsiniz. Gəlin bir nümunəyə baxaq. Tutaq ki, aşağıdakı valideyn sinfimiz var:
<?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;
}
}
?>
Tutaq ki, valideyn sinfindən aşağıdakı sinif miras alır:
<?php
class Student extends User {
}
?>
Tutaq ki, biz mirasçı sinifdə konstruktoru əlavə parametrlər əlavə etməklə genişləndirmək istəyirik:
<?php
class Student extends User {
private $year;
public function __construct($name, $surn, $year) {
}
}
?>
Bu halda, biz mütləq ilk sətirdə
valideynin konstruktorunu parent::__construct()
vasitəsilə çağırmalıyıq:
<?php
class Student extends User {
private $year;
public function __construct($name, $surn, $year) {
parent::__construct($name, $surn);
}
}
?>
parent::__construct() əmri mahiyyət etibarilə
valideynin konstruktorudur. Buna görə də
ona tələb olunan parametrləri ötürək:
<?php
class Student extends User {
private $year;
public function __construct($name, $surn, $year) {
parent::__construct($name, $surn);
}
}
?>
İndi mirasçıda təhsil ilini mirasçının öz xüsusiyyətinə yazaq:
<?php
class Student extends User {
private $year;
public function __construct($name, $surn, $year) {
parent::__construct($name, $surn);
$this->year = $year;
}
}
?>
Təhsil ili üçün getter edək:
<?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;
}
}
?>
Tutaq ki, Employee sinfi
bu dərsdəki User sinfindən
miras alır.
Employee sinfində valideyn
konstruktorunu yaş və maaş parametri
əlavə etməklə yenidən təyin edin.
Yaş və maaş üçün getterlər edin.