abstract-class पर टैग किए गए जवाब

एक अमूर्त वर्ग एक ऐसा वर्ग है जिसे त्वरित नहीं किया जा सकता है। वे आम तौर पर विस्तारित / उपवर्गों के लिए होते हैं और आम तौर पर "अमूर्त तरीके" होते हैं जिन्हें उपवर्गों द्वारा लागू किया जाना चाहिए।

7
C # में विस्तार विधियों के साथ इंटरफेस के बजाय अमूर्त कक्षाओं का उपयोग कब करें?
"एब्सट्रैक्ट क्लास" और "इंटरफ़ेस" समान अवधारणाएं हैं, जिनमें इंटरफ़ेस दो का अधिक सार है। एक विभेदक कारक यह है कि अमूर्त वर्ग जरूरत पड़ने पर व्युत्पन्न वर्गों के लिए विधि कार्यान्वयन प्रदान करते हैं। C # में, हालांकि, इस विभेदक कारक को विस्तार विधियों की हाल की शुरूआत से कम …

9
मुझे एक वर्ग को अमूर्त वर्ग क्यों घोषित करना चाहिए?
मुझे सिंटैक्स पता है, अमूर्त वर्ग के लिए लागू नियम और मैं एक अमूर्त वर्ग का उपयोग जानना चाहता हूं एब्सट्रैक्ट क्लास को सीधे इंस्टैंट नहीं किया जा सकता है लेकिन अन्य क्लास द्वारा बढ़ाया जा सकता है ऐसा करने से फायदा क्या है? यह एक इंटरफेस से कैसे अलग …

4
C ++ में वर्चुअल फ़ंक्शंस क्यों और कैसे धीमी होती हैं?
क्या कोई विस्तार से बता सकता है कि वर्चुअल फ़ंक्शंस को कॉल करने पर वर्चुअल टेबल कैसे काम करती है और किस पॉइंट से जुड़ी है। यदि वे वास्तव में धीमे हैं, तो क्या आप उस समय को दिखा सकते हैं जिसे निष्पादित करने के लिए वर्चुअल फ़ंक्शन सामान्य वर्ग …

2
शुद्ध अमूर्त वर्गों और इंटरफेस का कार्यान्वयन
यद्यपि यह C ++ मानक में अनिवार्य नहीं है, लेकिन यह उदाहरण के लिए GCC का तरीका लगता है, शुद्ध अमूर्त लोगों सहित माता-पिता वर्गों को लागू करता है, प्रश्न में वर्ग के प्रत्येक तात्कालिकता में उस अमूर्त वर्ग के लिए वी-टेबल के लिए एक सूचक को शामिल करता है …

4
सार # के रूप में सार वर्ग का उपयोग करें
C ++ डेवलपर के रूप में मैं C ++ हेडर फ़ाइलों के लिए काफी अभ्यस्त हूं, और कोड के अंदर किसी प्रकार के जबरन "दस्तावेज़ीकरण" के लिए यह फायदेमंद है। मेरे पास आमतौर पर एक बुरा समय होता है जब मुझे उसकी वजह से कुछ C # कोड पढ़ना पड़ता …

3
सार्वजनिक सदस्यों को कभी भी आभासी / अमूर्त न बनाएं - क्या वास्तव में?
2000 के दशक में वापस मेरे एक सहकर्मी ने मुझे बताया कि यह सार्वजनिक तरीकों को आभासी या अमूर्त बनाने का एक विरोधी पैटर्न है। उदाहरण के लिए, उन्होंने एक वर्ग को इस तरह से डिजाइन करने पर विचार किया: public abstract class PublicAbstractOrVirtual { public abstract void Method1(string argument); …

5
क्या एनामस भंगुर इंटरफेस बनाते हैं?
नीचे दिए गए उदाहरण पर विचार करें। ColorChoice enum में कोई भी परिवर्तन सभी IWindowColor उपवर्गों को प्रभावित करता है। क्या ईर्ष्या भंगुर इंटरफेस का कारण बनती है? क्या अधिक बहुरूपी लचीलेपन की अनुमति देने के लिए किसी एनम से बेहतर कुछ है? enum class ColorChoice { Blue = 0, …

2
सार अपवाद सुपर प्रकार
अगर फेंकना System.Exceptionइतना बुरा माना जाता है, तो पहले स्थान पर क्यों नहीं Exceptionबनाया abstractगया? इस तरह, कॉल करना संभव नहीं होगा: throw new Exception("Error occurred."); यह हुई त्रुटि का अधिक विवरण प्रदान करने के लिए व्युत्पन्न अपवादों का उपयोग करते हुए लागू होगा। उदाहरण के लिए, जब मैं पुस्तकालय …

4
आधार फ़ील्ड में एक सामान्य फ़ील्ड को कब स्थानांतरित करना है?
मेरे पास वर्तमान में दो व्युत्पन्न वर्ग हैं, Aऔर B, कि दोनों में एक क्षेत्र सामान्य है और मैं यह निर्धारित करने की कोशिश कर रहा हूं कि क्या इसे आधार वर्ग में जाना चाहिए। इसे बेस क्लास से संदर्भित नहीं किया जाता है, और कहते हैं कि अगर सड़क …

6
अमूर्त वर्ग, इंटरफेस और उन्हें कब उपयोग करना है, इसके बीच क्या अंतर हैं
हाल ही में मैंने ओओपी के चारों ओर अपना सिर लपेटना शुरू कर दिया है, और मैं अब उस बिंदु पर हूं जहां मैं जितना अधिक अमूर्त वर्गों के बीच के अंतर के बारे में पढ़ता हूं और उतना ही भ्रमित हो जाता हूं कि मैं और अधिक भ्रमित हो …

6
क्या मैं इंटरफ़ेस विधियों को सार विधियों के रूप में मान सकता हूं?
मैं उस बारे में सोच रहा था, और मुझे कुछ संदेह था। जब मैं एक इंटरफ़ेस घोषित करता हूं, उदाहरण के लिए: public interface MyInterface { public void method1(); public void method2(); } क्या इन इंटरफ़ेस विधियों को अमूर्त माना जा सकता है? मेरा मतलब है कि एक अमूर्त विधि …

3
क्या मुझे सीधे इंटरफ़ेस लागू करना चाहिए या सुपरक्लास करना चाहिए?
क्या इसमें कोई अंतर है public class A extends AbstractB implements C {...} बनाम... public class A extends AbstractB {...} abstract class AbstractB implements C {...} मैं समझता हूं कि दोनों मामलों में, क्लास ए इंटरफ़ेस के अनुरूप होगा। दूसरे मामले में, AbstractBइंटरफ़ेस विधियों के लिए कार्यान्वयन प्रदान कर सकता …

5
स्थैतिक तरीकों को क्यों नहीं बदलना चाहिए?
इस सवाल के जवाब में , आम सहमति यह थी कि स्थिर तरीकों को ओवरराइड नहीं किया जाना चाहिए (और इस प्रकार C # में स्थिर कार्य आभासी या सार नहीं हो सकते हैं)। यह केवल C # में मामला नहीं है, हालांकि; जावा भी इसे मना करता है और …

4
क्या C ++ और Java में अमूर्त कक्षाओं / इंटरफेस के लिए एक अलग उपयोग तर्क है
हर्ब सटर के अनुसार जहाँ तक संभव हो क्रियान्वयन को रोकने के लिए C ++ में अमूर्त कक्षाओं (सभी शुद्ध आभासी कार्यों) के लिए अमूर्त इंटरफेस (सभी शुद्ध आभासी कार्य) को प्राथमिकता देनी चाहिए। जबकि मैं व्यक्तिगत रूप से इस नियम को बहुत उपयोगी मानता हूं, मैंने हाल ही में …

7
एकल, अमूर्त वर्ग और इंटरफेस की भूमिकाएं क्या हैं?
मैं C ++ में OOP का अध्ययन कर रहा हूं और भले ही मुझे इन 3 अवधारणाओं की परिभाषाओं के बारे में पता हो, लेकिन मैं वास्तव में यह महसूस नहीं कर सकता कि इसका उपयोग कब या कैसे करना है। आइए इस वर्ग का उपयोग उदाहरण के लिए करें: …

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.