Կոնստրուկտորը ժառանգման ժամանակ 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 դասում
ծնողի կոնստրուկտորը՝ ավելացնելով դրան
պարամետրեր տարիքով և աշխատավարձով:
Ստեղծեք գետտերներ տարիքի և աշխատավարձի համար: