सार कक्षा और कंक्रीट कक्षा के बीच का अंतर

Anonim

सार क्लास बनाम कंक्रीट वर्ग

जावा और सी # की तरह लोकप्रिय आधुनिक ऑब्जेक्ट ओरिएंटेड ओरिएंटेड प्रोग्रामिंग भाषा प्राप्त कर रहे हैं वर्ग आधारित। कक्षाओं के इस्तेमाल के माध्यम से वे ऑब्जेक्ट ओरिएंटेड अवधारणाओं जैसे एनकैप्सुलेशन, इनहेरिटन्स और पॉलीमोर्फिज़्म को प्राप्त करते हैं। कक्षाएं वास्तविक दुनिया वस्तुओं का सार प्रतिनिधित्व हैं क्लासेस या तो कंक्रीट या सार उनके विधि कार्यशीलता के कार्यान्वयन के स्तर के आधार पर हो सकते हैं। एक ठोस वर्ग पूरी तरह से अपने सभी तरीकों को लागू करता है एक सार वर्ग को नियमित (ठोस) वर्ग के सीमित संस्करण के रूप में माना जा सकता है, जहां इसमें आंशिक रूप से कार्यान्वित विधियां हो सकती हैं आमतौर पर, ठोस वर्गों को (बस) वर्गों के रूप में संदर्भित किया जाता है

कंक्रीट क्लास क्या है?

डिफ़ॉल्ट वर्ग एक ठोस वर्ग है क्लास कीवर्ड का उपयोग कक्षाओं को परिभाषित करने के लिए किया जाता है (जावा में जावा)। और आमतौर पर उन्हें केवल कक्षाएं (विशेषण कंक्रीट के बिना) के रूप में संदर्भित किया जाता है। कंक्रीट वर्ग वास्तविक दुनिया वस्तुओं के वैचारिक प्रतिनिधित्व दर्शाते हैं। क्लासेस में एट्रिब्यूट्स नामक गुण हैं गुण वैश्विक और उदाहरण चर के रूप में कार्यान्वित हैं वर्गों में विधियां इन वर्गों के व्यवहार को दर्शाती हैं या परिभाषित करती हैं। कक्षाओं के तरीकों और विशेषताओं को कक्षा के सदस्य कहा जाता है। आम तौर पर, सार्वजनिक विधियों का निर्माण करते हुए इन विशेषताओं को एक्सेस करने के लिए उपयोग किए जा सकते हैं। वस्तु एक वर्ग का उदाहरण है। वंशानुक्रम उपयोगकर्ता को अन्य कक्षाओं (जिसे सुपर वर्ग कहा जाता है) से वर्गों (उप वर्गों) को विस्तारित करने की अनुमति देता है पॉलीमॉर्फिज़्म प्रोग्रामर को अपने सुपर क्लास के एक ऑब्जेक्ट की जगह एक क्लास के ऑब्जेक्ट को स्थानांतरित करने की अनुमति देता है। आमतौर पर, समस्या परिभाषा में पाया जाने वाले नाम कार्यक्रम में कक्षाएं बन जाते हैं। और इसी प्रकार, क्रियाएँ तरीकों बन जाती हैं। सार्वजनिक, निजी और संरक्षित वर्गों के लिए उपयोग किए जाने वाले ठेठ पहुंच संशोधक हैं।

सार कक्षा क्या है?

सार की कक्षाओं को ऐब्जेक्ट कीवर्ड्स (जावा में जावा इत्यादि) द्वारा घोषित किया जाता है। आमतौर पर, सार कक्षाएं, जिसे सार बेस क्लास (एबीसी) के रूप में भी जाना जाता है, प्रारंभ नहीं किया जा सकता है (उस क्लास का एक उदाहरण नहीं बनाया जा सकता है)। इसलिए, सार कक्षाएं केवल यदि अर्थात् प्रोग्रामिंग भाषा को वंशानुक्रम (एक वर्ग को बढ़ाने से उपवर्ग बनाने की क्षमता) का समर्थन करने के लिए सार्थक है। सार वर्ग आमतौर पर आंशिक या कार्यान्वयन के साथ एक अमूर्त अवधारणा या इकाई का प्रतिनिधित्व करते हैं। इसलिए, सार कक्षाएं अभिभावक वर्गों के रूप में कार्य करती हैं जिससे बच्चे की कक्षाएं उत्पन्न होती हैं ताकि बच्चे वर्ग अभिभावक वर्ग की अपूर्ण सुविधाओं को साझा कर सकें और उन्हें पूरा करने के लिए कार्यशीलता को जोड़ा जा सके।

सार वर्गों में सार विधियां हो सकती हैं। एक सार वर्ग का विस्तार करने वाले उपवर्ग इन (उत्तराधिकृत) सार विधियों को लागू कर सकते हैं।यदि बाल वर्ग ऐसे सभी सार तत्वों को लागू करता है, तो यह एक ठोस वर्ग बन जाता है। लेकिन अगर ऐसा नहीं होता, तो बच्चा भी एक सार वर्ग बन जाता है। इसका सब क्या मतलब यह है कि, जब प्रोग्रामर एक कक्षा को एक सार के रूप में नामांकित करता है, वह कह रही है कि वर्ग अधूरा होगा और उसके पास ऐसे तत्व होंगे जो इनहेरिटिंग उपवर्गों द्वारा पूरा किए जाने की आवश्यकता होगी। यह दो प्रोग्रामर्स के बीच एक अनुबंध बनाने का एक अच्छा तरीका है, जो सॉफ्टवेयर विकास में कार्यों को सरल करता है। प्रोग्रामर, जो वारिस के लिए कोड लिखते हैं, को विधि परिभाषाओं का पालन करना आवश्यक है (लेकिन निश्चित रूप से उसका अपना क्रियान्वयन हो सकता है)।

सार कक्षा और कंक्रीट कक्षा के बीच अंतर क्या है?

सार वर्ग आमतौर पर आंशिक या कार्यान्वयन नहीं होता है दूसरी ओर, कंक्रीट वर्ग हमेशा अपने व्यवहार के पूर्ण कार्यान्वयन करते हैं। ठोस वर्गों के विपरीत, अमूर्त वर्गों को तत्काल नहीं किया जा सकता है। इसलिए अमूर्त वर्गों को उन्हें उपयोगी बनाने के लिए विस्तारित किया जाना है। सार कक्षाओं में सार विधियां हो सकती हैं, लेकिन ठोस कक्षाएं नहीं कर सकती हैं। जब एक सार वर्ग बढ़ाया जाता है, तो सभी विधियां (सार और ठोस दोनों) विरासत में मिली हैं। विरासत वर्ग किसी भी या सभी तरीकों को लागू कर सकता है। यदि सभी अमूर्त विधियां लागू नहीं की जाती हैं, तो वह वर्ग भी एक अमूर्त वर्ग बन जाता है।