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