जब आप बूरिटो खाते हैं, तो आपका हर स्वाद ग्राही खुशी से गाता है। प्रत्येक काटने से नमकीन, मीठा, मसालेदार और उमामी जैसे विभिन्न प्रकार के स्वाद का संयोजन होता है। उसके बाद हर काटने का स्वाद थोड़ा अलग होता है क्योंकि सामग्री का एक नया संग्रह उनके स्वादों को एक साथ जोड़ता है।
आपने मेन्यू से सामग्री पढ़ी होगी, लेकिन आप नहीं जानते कि साल्सा कैसे बनता है। वे अपनी सब्जियों पर जिस मसाला का उपयोग करते हैं वह एक गुप्त मिश्रण हो सकता है। हालाँकि, आपको हर सटीक सामग्री को जानने की ज़रूरत नहीं है। यह जानना काफी है कि यह स्वादिष्ट है।
जो सामग्री आप जानते हैं, जैसे सादे सफेद चावल, ठोस होते हैं। अन्य तत्व अमूर्त हैं। तुम्हें पता है कि यह साल्सा है, लेकिन किस तरह का? या, अगर कोई आपको कहीं से सिर्फ एक बूरिटो देता है, तो पूरी बूरिटो अमूर्त है।
सार में अमूर्त
विरासत के साथवस्तु-उन्मुख प्रोग्रामिंग में अमूर्तता एक महत्वपूर्ण अवधारणा है। सिद्धांत यह है कि प्रत्येक वस्तु को सरल और पूर्वानुमेय परिणाम देना चाहिए। वस्तुओं को भी केवल वही साझा करना चाहिए जिसे साझा करने की आवश्यकता है।
आप एक बरिटो को एक वस्तु के रूप में सोच सकते हैं। बरिटो के अंदर, आपके पास कई अन्य वस्तुएं हैं, जैसे सेम, चावल, पनीर और गर्म सॉस। हो सकता है कि बीन्स को सीज किया गया हो। पनीर एक मिश्रण हो सकता है। और गर्म सॉस सिरका में वृद्ध मिर्च का एक संयोजन हो सकता है।
आपको यह जानने की जरूरत नहीं है कि बर्टिटो में सभी सामग्री कैसे बनाई जाती है। और हॉट डॉग के मामले में, आप शायद जानना नहीं चाहेंगे। बस इतना ही मायने रखता है कि जब आप इसे खाते हैं तो यह टूटता नहीं है और यह बहुत स्वादिष्ट होता है।
अमूर्तता एनकैप्सुलेशन के साथ निकटता से जुड़ी हुई है
प्रोग्रामिंग ऑब्जेक्ट्स के साथ भी यही बात है। जब आप किसी ऑब्जेक्ट को इंस्टेंट करते हैं (इसे एक क्लास से बनाते हैं), तो यह फूड ट्रक काउंटर से बर्टिटो ऑर्डर करने जैसा है। आपके पास कुछ डेटा तक पहुंच है, लेकिन सभी नहीं। आपको यह जानने की जरूरत नहीं है कि ऑब्जेक्ट कैसे काम करता है, जब तक कि फ़ंक्शन सही डेटा लौटाते हैं। यहाँ जावास्क्रिप्ट/टाइपप्रति में एक बरिटो है:
निर्दिष्ट भाषा: tsx मौजूद नहीं है'कोड जनरेशन विफल !!
'
तुम कर सकते हो टाइपस्क्रिप्ट सैंडबॉक्स में इस कोड के साथ खेलें.
उपरोक्त उदाहरण में, साल्सा और पनीर सामग्री को अलग कर दिया गया है। सबसे पहले, वे विशेष सामग्री को छिपाने के लिए, इनकैप्सुलेटेड हैं। फिर सामग्री तक पहुंचने के लिए गेटर्स जोड़े जाते हैं। लेकिन सामग्री केवल एक अमूर्त प्रतिनिधित्व लौटाती है कि वे वास्तव में क्या हैं।
कंक्रीट में अमूर्तता
अमूर्त एक अवधारणा से अधिक है, यद्यपि। कक्षाएं अमूर्त भी हो सकती हैं। इसका मतलब है कि वे अन्य वर्गों को परिभाषित कर सकते हैं। लेकिन उन्हें स्वयं तत्काल नहीं किया जा सकता है।
कक्षाएं कभी-कभी सार क्यों होनी चाहिए?
कल्पना कीजिए कि आप एक रेस्तरां में जाते हैं और बैठ जाते हैं। वेटर आपको एक मेन्यू देता है। आप इसे खोलने के लिए पाते हैं कि केवल एक ही वस्तु है: भोजन।
यह काफी सारगर्भित है। क्या आप इसे ऑर्डर करेंगे? क्या आप इसे खायेंगे? आप शायद नहीं करेंगे। कुछ कहना खाना है काफी नहीं है। इसे कुछ और ठोस बनाने की जरूरत है।
पास्ता के बारे में क्या? खैर, यह एक अधिक विशिष्ट प्रकार का भोजन है। और हम जानते हैं कि इसमें शायद नूडल्स और सॉस है। लेकिन वहाँ बहुत सारे विभिन्न प्रकार के पास्ता हैं, इसलिए यह अभी भी सार है।
सार क्या है और कंक्रीट क्या है?
Fettuccine Alfredo भोजन और पास्ता दोनों का एक ठोस उदाहरण है। यही बात कक्षाओं पर भी लागू होती है। हर वर्ग को तत्काल नहीं किया जाना चाहिए। कुछ वर्गों को केवल अन्य वर्गों की संरचना को परिभाषित करना चाहिए।
यहाँ एक सार के साथ एक उदाहरण है खाना कक्षा, और एक बच्चा मैकाडामिया नट्स वर्ग:
निर्दिष्ट भाषा: tsx मौजूद नहीं है'कोड जनरेशन विफल !!
'
यहाँ कोड है।
सार वर्ग अन्य वर्गों को बताते हैं कि उन्हें कैसे व्यवहार करना चाहिए। उपरोक्त उदाहरण में, यदि आप एक खाद्य वर्ग बनने जा रहे हैं, तो आपके पास ऐसे कार्य होने चाहिए जो आपके नाम, स्वाद, विवरण और कैलोरी तक पहुंच की अनुमति दें।
ध्यान दें कि मैकाडामिया नट्स कक्षा फैलीखाना. यह कह रहा है कि मैकाडामिया नट्स के नियमों का पालन करने के लिए सहमत हैं खाना. इसके अलावा, ध्यान दें कि कंस्ट्रक्टर कॉल करता है उत्तम. कंस्ट्रक्टर के इंस्टेंट होने से पहले वह कमांड पैरेंट क्लास को इंस्टेंट करता है मैकाडामिया नट्स.
यदि आप प्रोग्राम करना सीख रहे हैं, तो आप कर सकते हैं इन प्रोग्रामिंग गेम्स के साथ और अधिक मज़ा लें.
अमूर्त अभ्यास
- ऊपर दिए गए लिंक पर जाएं और सैंडबॉक्स का उपयोग करके एक अमूर्त वर्ग बनाएं जिसे. कहा जाता है शोरबा।
- का एक ठोस बच्चा बनाएँ शोरबा वर्ग, बुलाया दलिया जैसा व्यंजन.
- उपयोग कंसोल.लॉग अपने कोड का परीक्षण करने के लिए। क्या होता है यदि आपका दलिया जैसा व्यंजन कक्षा में परिभाषित कार्यों में से एक गायब है शोरबा?
लेकिन एक वर्ग का बिंदु क्या है जिसे आप तत्काल नहीं कर सकते हैं?
सबसे पहले, अमूर्त कक्षाएं अनावश्यक लग सकती हैं। आखिरकार, आप वस्तु बनाने के लिए वास्तव में उनका उपयोग नहीं कर सकते। और ऐसा नहीं है कि वे अपने कार्यों को पारित कर देते हैं। प्रत्येक बाल वर्ग में कार्यों को फिर से लिखना होगा।
अमूर्त कक्षाओं की आवश्यकता के दो मुख्य कारण हैं। वे आपके कोड को सुसंगत रखते हैं, और वे यह सुनिश्चित करते हैं कि अन्य डेवलपर भी सुसंगत कोड लिखें। आप हमेशा अकेले काम नहीं करेंगे। पूरी टीम को समान नियमों का पालन करना चाहिए। आप. से और सीख सकते हैं अमूर्त वर्गों पर टाइपस्क्रिप्ट प्रलेखन.
विरासत के साथ अपने ऑब्जेक्ट-ओरिएंटेड कोड को कैसे व्यवस्थित करें
आगे पढ़िए
संबंधित विषय
- प्रोग्रामिंग
- प्रोग्रामिंग
- वस्तु उन्मुख कार्यकर्म
लेखक के बारे में
ली एक पूर्णकालिक खानाबदोश और कई जुनून और रुचियों के साथ एक बहुरूपिया है। उनमें से कुछ जुनून उत्पादकता, व्यक्तिगत विकास और लेखन के इर्द-गिर्द घूमते हैं।
हमारे समाचार पत्र के सदस्य बनें
तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!
सब्सक्राइब करने के लिए यहां क्लिक करें