.net - Why can't you do multiple inheritance in c#? -


संभव डुप्लिकेट:

क्यों नहीं सी # एकाधिक विरासत का समर्थन करता है?

  सार्वजनिक आंशिक कक्षा बच्चे: माता-पिता 1 {शून्य MakeParent1Mad (); } सार्वजनिक आंशिक कक्षा बाल: माता पिता 2 {शून्य मेकेंट 2 मैड (); }  

  • .NET था कई भाषाओं का समर्थन करने के लिए डिज़ाइन किया गया है, लेकिन सभी भाषाओं प्रभावी रूप से एकाधिक विरासत का समर्थन नहीं कर सकते हैं। या तकनीकी रूप से वे कर सकते हैं, लेकिन भाषा शब्दार्थियों में जोड़े जाने वाली जटिलताओं में से कुछ उन भाषाओं को अधिक कठिन बनाना होगा (और उनकी जड़ों की समान ही, जैसे वीबी, और पिछड़े संगतता के कारणों के लिए) और सक्षम होने के व्यापार के योग्य नहीं कई विरासत के तरीके में पुन: उपयोग कोड
  • यह भी आज की तुलना में क्रॉस-लैंग्वेज लाइब्रेरी इंटरएपरेबिलिटी (सीएलएस अनुपालन के माध्यम से) एक वास्तविकता से कम है, जो कि .NET की सबसे आकर्षक सुविधाओं में से एक है। वर्तमान में 70 से अधिक कार्यान्वयन में 50 से अधिक भाषाओं का समर्थन किया गया है।
  • भाषा दृश्यता जटिलता सबसे अधिक दिखाई देने वाली कारक है। सी ++ में हमें स्पष्ट भाषा विशेषताओं को जोड़ने की जरूरत थी ताकि कई विरासत के कारण अस्पष्टता (जैसे क्लासिक हीरे की समस्या) को संबोधित किया जा सके, जैसे कि "आभासी" कीवर्ड वर्चुअल विरासत को समर्थन करने के लिए कंपाइलर रिहायशी विरासत मार्ग (और हमें इसका सही ढंग से उपयोग भी करें)
  • जैसा कि हम जानते हैं कि कोड का समय 20% लिखा गया है, लेकिन 80% समय पढ़ें। इस प्रकार सादगी पक्ष पर अधिवक्ताओं, शब्दावली को सरल रखने के लिए भाषा की विशेषताएं नहीं जोड़ना पसंद करते हैं। तुलना में सी # कोड सी ++ कोड की तुलना में पढ़ने के लिए काफी सरल है, और
लिखने के लिए यकीनन आसान है।

Comments

Popular posts from this blog

google indexing -

wpf - Custom Message Box Advice -

Eclipse CDT variable colors in editor -