/ / कौन सी भाषाएं "उपवर्ग हैं लेकिन कोई विरासत नहीं"? - जावा, वंशानुक्रम, उपवर्ग

कौन सी भाषाएं "उप-वर्गीकरण है लेकिन कोई विरासत नहीं है"? - जावा, विरासत, उपclass

एक जावा पाठ्यक्रम की पीडीएफ से: http://www.ccs.neu.edu/home/riccardo/courses/csu370-fa07/lect4.pdf

इसे कहते हैं:

आप में से जो लोग घर पर आते हैं, उनके लिए मुझे इस बात पर जोर देना चाहिए कि उपवर्ग विरासत नहीं है। हम बाद में पाठ्यक्रम में विरासत देखेंगे।

बेशक, उपवर्ग और विरासत हैंसम्बंधित। जैसा कि हम देखेंगे कि विरासत एक कोड पुन: उपयोग तंत्र है जो आपको उपवर्गों को परिभाषित करते समय आसानी से कोड का पुन: उपयोग करने देता है। लेकिन जब आप विरासत में नहीं होते हैं तब भी उपवर्ग समझ में आता है।

(वास्तव में, कुछ भाषाओं में सबक्लासिंग होती है लेकिन कोई भी उत्तराधिकार नहीं होता है, कम से कम, जावा की तरह इनहेरिटेंस नहीं।)

उपवर्ग कक्षाओं की एक संपत्ति है, और हैजावा के प्रकार प्रणाली का ठीक से हिस्सा। सबक्लासिंग का उपयोग जावा द्वारा यह निर्धारित करने के लिए किया जाता है कि किसी वस्तु पर संभवतया कौन-सी विधियाँ लागू की जा सकती हैं, और जब एक वस्तु किसी विधि की आपूर्ति नहीं करती है तो संकलन-समय पर एक त्रुटि वापस करने के लिए।

मैं जानना चाहता हूं कि किन भाषाओं में उपवर्ग हैंलेकिन कोई विरासत नहीं, कम से कम, जावा उपकरणों की तरह विरासत नहीं? (चूंकि मैं "अवधारणाओं को काफी नहीं समझता हूं, इसलिए यदि मैं इसे कुछ वास्तविक भाषाओं में देख सकता हूं, तो यह स्पष्ट हो जाएगा)

उत्तर:

जवाब के लिए 3 № 1

यह एक अंतर के बिना एक अंतर है। स्पष्ट रूप से वह विरासत के बारे में बात कर रहा है तरीकों की केवल जब वह "वंशानुक्रम" शब्द का उपयोग करता है। उनके द्वारा शुरू किए गए कैनोनिकल तरीके से शब्द का उपयोग नहीं किया गया है Wegner87, जो उपवर्ग के साथ अटूट रूप से जुड़ा हुआ है:

विरासत: एक वर्ग "सुपरक्लास" से परिचालन प्राप्त कर सकता है और "उप-वर्ग" द्वारा विरासत में प्राप्त किए गए इसके संचालन हो सकता है। ऑपरेशन "सी न्यू" के द्वारा बनाए गए वर्ग सी का एक ऑब्जेक्ट सी के रूप में इसका "बेस क्लास" है और यह अपने बेस क्लास में परिभाषित संचालन के साथ-साथ सुपरक्लास में परिभाषित संचालन का उपयोग कर सकता है।

सीएस शिक्षकों में अक्सर अजीब धारणा होती है। यह उनमें से एक रहा है।