PHP හි OOP උරුමකම ලබන විට පුද්ගලික ක්රම
පුද්ගලික ක්රම උරුමයෙන් ලබා නොගනී. මෙය අභ්යන්තරභාවය උල්ලංඝනය නොකිරීම සඳහා විශේෂයෙන් සකසා ඇත. අපි උදාහරණයක් බලමු. පහත දැක්වෙන ප්රාප්තික පන්තිය පුද්ගලික ක්රමයක් සමඟ ඇතැයි සිතමු:
<?php
class User {
private $name;
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->capeFirst($this->name);
}
private function capeFirst($str) {
return ucfirst($str);
}
}
?>
ප්රාප්තික පන්තියෙන් පහත පන්තිය උරුමකම ලබයි යැයි සිතමු:
<?php
class Student extends User {
private $surn;
public function setSurn($surn) {
$this->surn = $surn;
}
public function getSurn() {
return $this->surn;
}
}
?>
උපපන්තිය ප්රාප්තිකයාගේ පුද්ගලික ක්රමය භාවිතා කිරීමට අවශ්ය යැයි සිතමු. PHP මෙයට අවසර නොදෙන අතර දෝෂයක් ලබා දෙනු ඇත:
<?php
class Student extends User {
private $surn;
public function setSurn($surn) {
$this->surn = $surn;
}
public function getSurn() {
return $this->capeFirst($this->surn); // දෝෂයක් වනු ඇත
}
}
?>
Employee පන්තිය තුළ ප්රාප්තිකයාගේ පුද්ගලික ක්රමය
භාවිතා කිරීමට උත්සාහ කරන්න.