PHP में OOP विरासत में निजी गुण
निजी गुण विरासत में नहीं मिलते हैं। लेकिन एक वंशज मूल वर्ग की सार्वजनिक विधियों के माध्यम से उनमें हेरफेर कर सकता है। आइए इसे व्यवहार में देखें। मान लीजिए कि हमारे पास एक निजी गुण और उसके गेटर और सेटर के साथ निम्नलिखित मूल वर्ग है:
<?php
class User {
private $name;
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
?>
मान लीजिए कि मूल वर्ग से निम्नलिखित वंशज विरासत में मिलता है:
<?php
class Student extends User {
}
?>
आइए वंशज की एक वस्तु बनाएं:
<?php
$student = new Student;
?>
आइए मूल वर्ग की विधि का उपयोग करके उसके निजी गुण को लिखें:
<?php
$student->setName('john');
?>
आइए मूल वर्ग की विधि का उपयोग करके उसके निजी गुण को पढ़ें:
<?php
$name = $student->getName();
echo $name;
?>
निम्नलिखित मूल वर्ग दिया गया है:
<?php
class User {
private $name;
private $surn;
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
public function setSurn($surn) {
$this->surn = $surn;
}
public function getSurn() {
return $this->surn;
}
}
?>
Employee नामक एक वर्ग बनाएं
जो इस मूल वर्ग से विरासत में मिलेगा।
Employee वर्ग की एक वस्तु बनाएं
और विरासत में मिली सेटर और गेटर विधियों को कॉल करें।
Employee वर्ग में
निम्नलिखित विधि बनाएं:
<?php
public function getFull() {
return $this->name . ' ' . $this->surn;
}
?>
सुनिश्चित करें कि विधि का कोड एक त्रुटि का कारण बनता है।