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 сыныбында ата-ананың
конструкторын жасы мен жалақы параметрлерін
қосу арқылы қайта анықтаңыз.
Жасы мен жалақы үшін геттерлер жасаңыз.