संभावित डुप्लिकेट:
हाय सब, मुझे अमूर्त वर्ग और इंटरफ़ेस के उपयोग के बारे में थोड़ा भ्रम है, जब हमें अमूर्त वर्ग और जब अंतरफलक लागू करने की आवश्यकता होती है।
धन्यवाद विजेंद्र सिंह
सामान्य में:
किसी भी स्थिति में इंटरफेस का उपयोग किया जाना चाहिए, जहां क्लास करता है, जरूरी नहीं है यह क्या है। उदाहरण के लिए, एक ऐसा क्लास जो खुद की एक कॉपी बना सकता है, इसके अलावा कई अन्य चीजें भी कर सकती हैं, लेकिन जब आप केवल ऑब्जेक्ट की प्रतिलिपि करने में सक्षम होने की परवाह करते हैं, तो आप केवल वही ध्यान रखते हैं कि ऑब्जेक्ट आईसीएलएनेबल साथ ही, इंटरफेस तब उपयोगी होते हैं जब कार्यक्षमता का एक सेट साझा नहीं किया जाता है; उदाहरण के लिए गणना के परिणामों को आउटपुट करने की क्षमता, फ़ाइल के रूप में हो सकती है, या कंसोल या नेटवर्क पर हो सकती है। ये तीन कार्यान्वयन पूरी तरह से अलग हैं, लेकिन वे सभी एक ऐसा वर्ग को देख सकते हैं जिसे IOutputWriter की आवश्यकता होती है।
एबस्ट्रैक्ट आमतौर पर कोड को साझा करने के लिए उपयोग किया जाता है। एक सार वर्ग, एक अंतरफलक के विपरीत, विधि तर्क निर्दिष्ट कर सकता है कि उसके बच्चों का उपयोग किया जा सकता है। बिटमैप इमेज प्रिंटर एक बिटमैप फ़ाइल प्रकार के साथ विशेष रूप से काम करता है, लेकिन वास्तव में प्रिंटर का उपयोग करने के लिए उसे जेपीजीआईमेज प्रिंटर के रूप में एक ही तर्क की आवश्यकता है; इसलिए, यह तार्किक सार इमेज प्रिंटर में जा सकता है। एब्सट्रैक्ट्स भी उपयोगी होते हैं, जब क्लास क्या करता है उससे अधिक महत्वपूर्ण होता है।
ऐसे कुछ अन्य विशेष मामले हैं जहां आपको एक या दूसरे का उपयोग करना होगा, लेकिन पूरे पर यह बड़ा अंतर है।
/ div>
Comments
Post a Comment