Kisanja wakati wa urithi katika OOP katika PHP
Wakati wa urithi unaweza kubadilisha kisanja cha mzazi. Hebu tuangalie kwa mfano. Hebu tuchukulie tuna darasa la mzazi lifuatalo:
<?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;
}
}
?>
Hebu tuchukulie darasa lifuatalo linairithi kutoka kwa darasa la mzazi:
<?php
class Student extends User {
}
?>
Hebu tuchukulie tunataka katika darasa la mzao kupanua kisanja, tukiongeza vigezo vya ziada ndani yake:
<?php
class Student extends User {
private $year;
public function __construct($name, $surn, $year) {
}
}
?>
Katika hali hii ni lazima
mstari wa kwanza uitaje kisanja
cha mzazi kupitia parent::__construct():
<?php
class Student extends User {
private $year;
public function __construct($name, $surn, $year) {
parent::__construct($name, $surn);
}
}
?>
Amri parent::__construct() kimsingi ni
kisanja cha mzazi. Kwa hivyo
tupitishe parameta zinazohitajika ndani yake:
<?php
class Student extends User {
private $year;
public function __construct($name, $surn, $year) {
parent::__construct($name, $surn);
}
}
?>
Sasa katika mzao mwaka wa masomo tuandike katika sifa yake mwenyewe ya mzao:
<?php
class Student extends User {
private $year;
public function __construct($name, $surn, $year) {
parent::__construct($name, $surn);
$this->year = $year;
}
}
?>
Tufanye getter kwa mwaka wa masomo:
<?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;
}
}
?>
Hebu tuchukulie darasa Employee linairithi
kutoka kwa darasa User kutoka kwenye
somo hili.
Badilisha katika darasa Employee
kisanja cha mzazi, ukiongeza
kigezo cha umri na mshahara.
Fanya getter kwa umri na mshahara.