बस सोच रहा है कि निजी वर्ग-स्तरीय चर विरासत में मिला है या नहीं? सी #निजी वर्ग स्तर के चर विरासत में हैं?
उत्तर
हां, लेकिन वे पहुंच योग्य नहीं हैं, इसलिए इसे देखकर आप ईमानदारी से कह सकते हैं कि वे विरासत में नहीं हैं। लेकिन हाँ वे वास्तव में
यह भाषा पर निर्भर करता है, लेकिन सामान्य रूप से, नहीं - वे केवल उस वर्ग में पहुंच योग्य होते हैं जिसमें उन्हें परिभाषित किया जाता है।
लेकिन वे आमतौर पर भाग होते हैं उदाहरण के (भले ही भाषा पहुंच को रोकती है)। –
वे विरासत में हैं, लेकिन कीवर्ड "निजी" का अर्थ है कि केवल वह वर्ग जिसमें उन्हें घोषित किया गया था, उन्हें एक्सेस कर सकते हैं। इसमें उप-वर्ग शामिल नहीं हैं। हालांकि, क्योंकि सबक्लास के एक उदाहरण में अपना सुपरक्लास होता है, वे अभी भी वहां हैं। आप बस उन्हें सीधे नहीं देख सकते हैं।
यदि कोई फ़ील्ड ढूंढ रहे हैं जो केवल घोषित वर्ग और उसके उप-वर्ग देख सकते हैं, तो आप "निजी" के बजाय कीवर्ड "संरक्षित" का उपयोग कर सकते हैं, और यह उस कार्यक्षमता को प्रदान करना चाहिए जिसे आप ढूंढ रहे हैं।
वे हैं, हालांकि वे सीधे पहुंच योग्य नहीं हैं।
public class BaseClass
{
private const int _aNumber = 5;
public int ReturnANumber() { return _aNumber; }
}
public class DClass : BaseClass
{
public void SomeMethod()
{
// This is indirectly accessing a private implemented in the class
// this derives from, but existing inside this class.
int numbery = this.ReturnANumber();
}
}
public class Whatever
{
public void AMethod(DClass someDClass)
{
int thisIsNumberFive = someDClass.ReturnANumber();
}
}
वे एक अर्थ में विरासत में हैं। उनके लिए मेमोरी स्पेस आवंटित किया गया है, और वे सबक्लास उदाहरण के भीतर "मौजूद" हैं। हालांकि, सबक्लास स्वयं चर का उपयोग नहीं कर सकता है। आधार वर्ग के भीतर तरीकों की जरूरत निजी चर सेट करने के लिए सक्षम होने के लिए (या किसी काम का नहीं वहाँ होगा - (आप आधार वर्ग चर का उपयोग करने के उपवर्ग चाहते हैं, protected
बजाय private
का उपयोग करें।)
यह आवश्यक है इसके लिए)। वे विधियां उप-वर्ग के उदाहरण पर भी उपलब्ध हैं - और वास्तव में, उप-वर्ग उदाहरण को बेस क्लास के उदाहरण के रूप में माना जाना चाहिए (Liskov substitution principle को संतुष्ट करने के लिए आवश्यक)। यदि निजी चर विरासत में नहीं थे, तो बेस क्लास विधियों का व्यवहार बदल जाएगा या टूट जाएगा।
हां, वे विरासत में हैं लेकिन संकलक उन्हें एक्सेस करने पर रोक लगाता है। आलस, आप अभी भी उन्हें प्राप्त कर सकते हैं - प्रतिबिंब के माध्यम से या अपने अच्छे AMethod() चाल के माध्यम से अनुशंसित नहीं है।
वे विरासत में हैं लेकिन पहुंच योग्य नहीं हैं या वे केवल उस कक्षा में पहुंच योग्य हैं जहां उन्हें घोषित किया जाता है। आप दो तरह से
- द्वारा उप वर्ग में उन तक पहुँच सकते घोषित उन्हें बल्कि तो संरक्षित निजी
एक सार्वजनिक विधि है जो कि निजी चर
का मान लिखना लेकिन वहाँ कोई रास्ता नहीं है कि आप सीधे उपclass में निजी चर का उपयोग करें।
- 1. पीएचपी __get और निजी वर्ग चर
- 2. निजी विरासत के साथ व्युत्पन्न वर्ग में मित्र समारोह
- 3. सी # में निजी विरासत?
- 4. उद्देश्य-सी: विरासत वर्ग में निजी संपत्तियों का उपयोग
- 5. पीएचपी - निजी वर्ग चर त्रुटि है: अपरिभाषित चर
- 6. वर्ग विरासत
- 7. निजी वर्ग
- 8. विरासत वर्ग
- 9. .. वर्ग विरासत
- 10. संरक्षित/निजी विरासत कास्टिंग
- 11. विरासत वर्ग
- 12. सी ++ समस्या विरासत वर्ग
- 13. PHP 5.2 में वर्ग विरासत: विस्तार वर्ग में स्थिर चर को ओवरराइड करना?
- 14. निजी या संरक्षित विरासत में वर्चुअल फ़ंक्शन
- 15. निजी विरासत: नाम लुकअप त्रुटि
- 16. निजी विरासत "इस संदर्भ में पहुंच योग्य" त्रुटि वर्ग के साथ बेस क्लास छुपाती है
- 17. जावास्क्रिप्ट और विरासत में निजी स्थिर
- 18. निजी विरासत के कारण पहुंच योग्य प्रकार
- 19. जावा अज्ञात वर्ग और पहुंच योग्य निजी चर
- 20. जावा विरासत ओवरराइडिंग आवृत्ति चर
- 21. एक्टिवेटर। निजी सीलबंद वर्ग
- 22. अनाम वैरिएबल बनाम निजी चर
- 23. भीतरी निजी वर्ग
- 24. सीएसएस - कम वर्ग विरासत
- 25. नेट विरासत: आधार वर्ग
- 26. सी ++ निजी विरासत और स्थिर सदस्य/प्रकार
- 27. निजी या संरक्षित चर?
- 28. अस्पष्ट वर्ग विरासत
- 29. निजी आंतरिक वर्ग अप्रत्याशित अनाम वर्ग
- 30. विरासत के साथ स्थैतिक चर का व्यवहार
किस भाषा में? –
सी # में खेद है कि –
के संभावित डुप्लिकेट [क्या निजी सदस्यों को सी # में विरासत में मिला है?] (Http://stackoverflow.com/questions/2950820/are-private-members-inherited-in-c) –