2012-10-24 22 views
5

के बीच अंतर क्या माता-पिता वर्ग और सुपर क्लास के बीच कोई अंतर है? क्या एक सुपर क्लास बस एक अभिभावक वर्ग है जो अन्य वर्गों से प्राप्त नहीं होती है?अभिभावक वर्ग और सुपर क्लास

उत्तर

2

यह एक शब्दावली अंतर का अधिक है। माता-पिता और बच्चे वर्ग या सुपर और उप-वर्गों का विचार। ऐसा लगता है कि आप किस प्रोग्रामिंग भाषा अनुभव और एप्लिकेशन डोमेन पर निर्भर करते हैं।

सुपर() एक व्युत्पन्न कक्षा में जावा क्लास के लिए अभिभावक या सुपर क्लास कन्स्ट्रक्टर का आह्वान किया जाता है।

और कई साल पहले शब्दावली में उचित मात्रा में मंथन था, इसलिए पुराने और अधिक अनुभवी प्रोग्रामर जो ऑब्जेक्ट उन्मुख में थे, वे कुछ अलग कह सकते हैं।

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

2

मैं कहूंगा कि यह वही है।

आप प्रत्यक्ष और अप्रत्यक्ष माता-पिता या सुपर क्लास के बीच अंतर करना चाहते हैं, लेकिन मुझे लगता है कि दोनों शब्द इस पर पर्याप्त स्पष्ट नहीं हैं। तो यदि आप यही व्यक्त करने की कोशिश कर रहे हैं, तो बेहतर स्पष्ट हो।

इसके अलावा, कई प्रोग्रामिंग भाषाओं में "सुपर" कीवर्ड होता है जो (सिंगल) प्रत्यक्ष पेरेंट क्लास को संदर्भित करता है। लेकिन यहां तक ​​कि अगर आप एक "सुपर" विधि कहते हैं और प्रत्यक्ष माता-पिता इसे लागू नहीं करते हैं, तो यह भी बुलबुले हो जाता है।

0

वे अनिवार्य रूप से वही हैं। भाषा के आधार पर, शब्दावली बदलती है। माता-पिता का तात्कालिक माता-पिता का मतलब हो सकता है, जबकि सुपर क्लास का अर्थ पूर्वजों के किसी भी वर्ग का हो सकता है। इसके अलावा, जावा में, सुपर() विधि है, जो माता-पिता के निर्माता को कॉल करती है।

3

वे एक ही ओओपी अवधारणा को संबोधित करने के लिए अलग-अलग शब्द हैं: विरासत। वर्ग ChildClass फैली आप ParentClass कह सकते हैं:

  • ChildClass माता पिता वर्ग ParentClass
  • ParentClass है ChildClass के सुपर वर्ग

विरासत स्तरों वहाँ लेना देना नहीं है, यह कोई बात नहीं यदि एक सुपर-क्लास स्वयं एक और कक्षा का विस्तार करता है।

0

रूबी भाषा में हमारे पास दोनों अवधारणाएं हैं जो अलग-अलग चीजों का अर्थ है।

ParentClass -> ChildClass -> इस

और

SuperClass -> SubClass नेमस्पेसिंग के लिए प्रयोग किया जाता है -> इस विरासत के लिए प्रयोग किया जाता है

उदाहरण नीचे:

ParentClass -> ChildClass:

01 > C.f1

  1. C.f3
कहा जाता है -

  1. C.f1

एक:

class A def self.f1 puts "A -> #{self.name}.f1 called" end # B is childclass of A class B def self.f2 puts "B -> #{self.name}.f2 called" end end end # C is subclass of A class C < A def self.f3 puts "C -> #{self.name}.f3 called" B.f2 end end 

नीचे उत्पादन देखें

सी -> एक :: B.f2

कहा जाता है -> C.f3

बी कहा जाता है

संबंधित मुद्दे