"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > C++ मानक लाइब्रेरी क्लासेस से इनहेरिट करना कब स्वीकार्य है?

C++ मानक लाइब्रेरी क्लासेस से इनहेरिट करना कब स्वीकार्य है?

2024-11-08 को प्रकाशित
ब्राउज़ करें:358

When is It Acceptable to Inherit from C   Standard Library Classes?

विरासत के माध्यम से सी मानक लाइब्रेरी का विस्तार

हालांकि यह अक्सर माना जाता है कि सी मानक लाइब्रेरी कक्षाओं से विरासत प्राप्त करना वांछनीय नहीं है, उल्लेखनीय अपवाद हैं .

विरासत के लिए पहचाने जाने योग्य वर्ग

यह निर्धारित करना कि मानक पुस्तकालय वर्ग वंशानुक्रम के लिए अभिप्रेत है या नहीं, चुनौतीपूर्ण हो सकता है। हालाँकि, निम्नलिखित दिशानिर्देश कुछ अंतर्दृष्टि प्रदान कर सकते हैं:

  • यदि कक्षा में आभासी तरीके हैं, तो यह विरासत के लिए एक संभावित उम्मीदवार है।
  • अत्यधिक "मित्र" घोषणाएं इनकैप्सुलेशन मुद्दों को इंगित करती हैं, जिससे विरासत बनती है कम उपयुक्त।
  • विरासत के बजाय विशेषज्ञता के लिए टेम्पलेट्स पर विचार किया जाना चाहिए।
  • नीति-आधारित तंत्र, जैसे std::char_traits, सुझाव देते हैं कि वंशानुक्रम का इरादा नहीं है।

व्युत्पन्न वर्ग आवश्यकताएँ

मानक पुस्तकालय कक्षाओं से विरासत में मिलने पर, लिस्कोव प्रतिस्थापन सिद्धांत (एलएसपी) लागू किया जाना चाहिए। देखने योग्य व्यवहार, जैसे कि std::exception में क्या() फ़ंक्शन, बेस क्लास से मेल खाना चाहिए। इस संदर्भ में मानक के अनुरूप होना शुद्धता से कम चिंता का विषय है।

निष्कर्ष

हालांकि मानक में मानक पुस्तकालय के विस्तार पर स्पष्ट मार्गदर्शन का अभाव है, लेकिन यह महत्वपूर्ण है वर्गों के इच्छित उपयोग पर सावधानीपूर्वक विचार करें और विरासत के सिद्धांतों को विवेकपूर्ण ढंग से लागू करें।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3