हाँ, यह किया जा सकता है:
उदाहरण के लिए, इस वर्ग लगता है। PHP manual से हवाला देते हुए ..
एक संपत्ति या विधि की दृश्यता, कीवर्ड जनता के साथ घोषणा लगाकर द्वारा परिभाषित किया जा सकता संरक्षित या निजी। कक्षा सदस्यों ने घोषणा की कि जनता को हर जगह पहुंचा जा सकता है। सदस्य घोषित संरक्षित केवल वर्ग के भीतर ही और विरासत में मिला है और माता पिता के वर्गों द्वारा पहुँचा जा सकता है। सदस्यों को निजी रूप में घोषित किया गया सदस्य केवल हो सकता है जो सदस्य को परिभाषित करता है।
और वहाँ के रूप में अच्छी से उदाहरण ..
class MyClass
{
public $public = 'Public';
protected $protected = 'Protected';
private $private = 'Private';
function printHello()
{
echo $this->public;
echo $this->protected;
echo $this->private;
}
}
$obj = new MyClass();
echo $obj->public; // Works
echo $obj->protected; // Fatal Error
echo $obj->private; // Fatal Error
$obj->printHello(); // Shows Public, Protected and Private
संपादित: हाँ, आप सार्वजनिक और संरक्षित सदस्यों की दृश्यता बदल सकते। पीएचपी पुस्तिका से एक और उदाहरण ..
/**
* Define MyClass2
*/
class MyClass2 extends MyClass
{
// We can redeclare the public and protected method, but not private
protected $protected = 'Protected2';
function printHello()
{
echo $this->public;
echo $this->protected;
echo $this->private;
}
}
$obj2 = new MyClass2();
echo $obj2->public; // Works
echo $obj2->private; // Undefined
echo $obj2->protected; // Fatal Error
$obj2->printHello(); // Shows Public, Protected2, Undefined
?>
हां, और यह वास्तव में सी ++ से अलग है (जहां आप व्युत्पन्न कक्षा में दृश्यता संशोधक 'ऊपरी' नहीं हो सकते हैं)। – raina77ow
ठीक है, धन्यवाद! –
क्या आप हमें दिखा सकते हैं कि किसी संपत्ति की दृश्यता को मूल में संरक्षित से व्युत्पन्न में कैसे बदला जाए? धन्यवाद! –