कंपाइलर अब तक इसे ध्यान में नहीं रखता है, लेकिन मैं सिर्फ यह जांचना चाहता हूं कि मैं अपने सार वर्ग में कुछ तरीकों को लागू करके किसी भी तरह विफलता के लिए खुद को स्थापित कर रहा हूं या नहीं।क्या सार कक्षाएं सी # में कार्यान्वयन कर सकती हैं?
उत्तर
एक अमूर्त वर्ग में आमतौर पर एक या अधिक सार विधि होती है। तो हाँ यह कुछ विधि लागू हो सकती है। लक्ष्य यह है कि उपयोगकर्ता को ऑब्जेक्ट काम करने के लिए इन तरीकों को लागू करने के लिए मजबूर करना है। कभी-कभी अमूर्त वर्गों का उपयोग कुछ इंटरफेस के 'आधार' कार्यान्वयन के लिए किया जाता है, जिससे अंतिम उपयोगकर्ता केवल मुख्य तरीकों को निर्दिष्ट करने के लिए छोड़ देता है। आप बिना किसी अमूर्त विधि के एक अमूर्त वर्ग भी प्राप्त कर सकते हैं: इस मामले में आप जोर दे रहे हैं कि इसका उपयोग करने के लिए आपको उस वर्ग से प्राप्त होना चाहिए।
हां। abstract
कक्षा को तत्काल नहीं किया जा सकता है (आपको कक्षा को तत्काल करना होगा जो आपके अमूर्त वर्ग से प्राप्त होता है), लेकिन इसमें कार्यान्वयन हो सकते हैं।
कुछ तरीकों को लागू करने और दूसरों को अमूर्त छोड़ने के लिए बिल्कुल ठीक है।
यदि सभी विधियों को सार होना था, तो आप इसके लिए एक इंटरफ़ेस भी उपयोग कर सकते हैं।
यह ठीक है और अनुमति है, abstract class
में कम से कम एक सदस्य (विधि/संपत्ति) लागू नहीं है, इसलिए इसे तुरंत चालू नहीं किया जा सकता है।
interface
को pure abstract class
भी कहा जाता है जिसका अर्थ है कि यह 100% सार है, इसलिए आपको कोई कार्यान्वयन निर्दिष्ट करने की अनुमति नहीं है।
ध्यान रखें कि कई ठोस लेखों से कभी ठोस वर्ग प्राप्त करने के बारे में बहुत सारे लेख और राय नहीं हैं, बल्कि केवल अमूर्त लोगों से ... कम से कम यह कुछ साल पहले सी ++ में प्रवृत्ति थी, फिर मैं चले गए सी # पक्ष में, और अधिक काम करना शुरू कर दिया और उन अच्छे लेखों को पढ़ने के लिए कोई समय नहीं था ... :)
आप सी # में किसी भी अमूर्त सदस्य के बिना एक अमूर्त वर्ग प्राप्त कर सकते हैं –
अमूर्त वर्गों में कुछ कार्यान्वयन करना आम बात है।
यदि कोई कार्यान्वयन नहीं है, तो एक अमूर्त वर्ग के बजाय इंटरफ़ेस का उपयोग करने पर विचार करें।
- 1. सार कक्षाएं
- 2. सार कक्षाएं और इंटरफेस क्यों बनाते हैं?
- 3. GORM रिलेशनशिप में सार कक्षाएं
- 4. एएस 3 - सार कक्षाएं
- 5. जावा में सार कक्षाएं और विधियां, विरासत
- 6. क्या कक्षाएं अमूर्त हो सकती हैं भले ही कोई सार तत्व न हो? यदि हाँ क्या उपयोग है?
- 7. जावा कोड शैली - इंटरफेस बनाम सार कक्षाएं
- 8. एकाधिक प्रॉक्सी कक्षाएं एसटीएल-सबूत बिटकवेक्टर बना सकती हैं?
- 9. दो कक्षाएं सी ++ का उपयोग कर एक-दूसरे को देख सकती हैं?
- 10. सार वर्ग - सी ++ अभ्यास
- 11. सार कक्षाएं और स्प्रिंग एमवीसी @ मॉडलएट्रिब्यूट/@ अनुरोधपाराम
- 12. जावा का उपयोग [इंटरफेस/सार कक्षाएं]
- 13. सी # में पुनर्रचना सार वर्ग
- 14. सी ++ में "स्ट्रिंग", "स्ट्रीम" और "स्ट्रिंगस्ट्रीम" कक्षाएं क्या हैं?
- 15. पायथन सार कक्षाएं - तत्कालता को हतोत्साहित करने के लिए कैसे?
- 16. सी ++ "पैरामीटर की घोषणा नहीं कर सकते हैं सार प्रकार
- 17. क्रियान्वयन कक्षाएं उनके कार्यान्वित इंटरफेस से एक्सएमएल टिप्पणियों को "उत्तराधिकारी" कर सकती हैं?
- 18. जावा में, अज्ञात कक्षाएं एक और कक्षा का विस्तार कर सकती हैं?
- 19. अंतिम आंतरिक कक्षाएं क्या हैं?
- 20. डी में भंडारण कक्षाएं क्या हैं?
- 21. क्या एक ही पैकेज की कक्षाएं कई जार फ़ाइलों में फैली हो सकती हैं?
- 22. टेम्पलेट कक्षाएं और सी ++
- 23. क्या एक div में कई कक्षाएं हो सकती हैं (ट्विटर बूटस्ट्रैप)
- 24. क्या सरणी में जावा स्टोर विधियां कर सकती हैं?
- 25. क्या जावा फ़ाइल में एक से अधिक कक्षाएं हो सकती हैं?
- 26. कार्यान्वयन सार बेस मॉडल क्लास, रेल मार्ग ™
- 27. क्या डीबीआईएक्स :: कक्षाएं टेबल बनाने के लिए उपयोग की जा सकती हैं?
- 28. स्कैला - कक्षाएं पर्याप्त हैं?
- 29. क्या सी # विधियां जो * स्थिर हो सकती हैं स्थिर हो सकती हैं?
- 30. सी ++ कक्षाएं उद्देश्य-सी कक्षा
सार तत्वों के बिना अमूर्त वर्ग बनाना संभव है, बस वर्ग को सार के रूप में चिह्नित करना ... –
अमूर्त वर्ग का अर्थ है कि इसे तत्काल होने के लिए विरासत में होना चाहिए। इसका मतलब यह नहीं है कि इसमें सारल विधियां होनी चाहिए क्योंकि किरिल पोलिशचुक ने नोट किया था। – ken2k
@ किरीलपोलिशचुक धन्यवाद क्रिल, मैंने कभी नहीं देखा कि, मैंने जवाब को सही किया। –