के किसी अन्य ऑब्जेक्ट की संरक्षित संपत्ति तक पहुंचने का तरीका क्या किसी ऑब्जेक्ट की विधि एक ही कक्षा के किसी अन्य ऑब्जेक्ट की संरक्षित संपत्ति तक पहुंचने में सक्षम होनी चाहिए?एक ही कक्षा
मैं PHP में कोडिंग कर रहा हूं, और मुझे अभी पता चला है कि एक ऑब्जेक्ट की संरक्षित संपत्ति को उसी वर्ग की विधि द्वारा एक्सेस किया जा सकता है, भले ही एक ही ऑब्जेक्ट न हो।
उदाहरण में, पहले, आपको आउटपुट में "3" मिलेगा - जैसा कि फ़ंक्शन पढ़ा जाता है। बाहरी यूज़र सफलतापूर्वक मूल्य तक पहुंच जाएगा - और उसके बाद एक PHP घातक त्रुटि उत्पन्न होगी - क्योंकि मुख्य प्रोग्राम विफल हो जाएगा एक ही मूल्य तक पहुंच।
<?php
class user
{
protected $property = 3;
public function readOtherUser()
{
$otherUser = new user();
print $otherUser->property;
}
}
$user = new user();
$user->readOtherUser();
print $user->property;
?>
इस एक PHP बग है या यह इच्छित व्यवहार है (और वहाँ तथ्य यह है के लिए संदर्भ) (और मैं इस अवधारणा ... :) दोबारा सीखने की ज़रूरत होगी)? यह अन्य प्रोग्रामिंग भाषाओं में कैसे किया जाता है?
धन्यवाद!
एनबी। रुबी का ['निजी'] (http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_classes.html#s4) वर्णित व्यवहार करता है- एक अलग विधि पर एक निजी विधि नहीं कहा जा सकता है। – outis