PHP හි OOP හි උරුමකම ලබන විට ගොඩනැගිලි කරු
උරුමකම ලබන විට අණ්ඩුකරුගේ ගොඩනැගිලි කරු නැවත අර්ථ දැක්විය හැකිය. අපි උදාහරණයක් බලමු. අපට පහත අණ්ඩුකරුගේ පංතියක් ඇතැයි සිතමු:
<?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 පංතිය තුළ
අණ්ඩුකරුගේ ගොඩනැගිලි කරු නැවත අර්ථ දක්වන්න,
එයට වයස සහ වැටුප පරාමිතියක් එකතු කරමින්.
වයස සහ වැටුප සඳහා ගෙටර් සාදන්න.