रैपर फ़ंक्शन: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(14 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{About|प्रोग्रामिंग संरचना|ग्राफिक्स में आवरण|आवरण (ग्राफिक्स)}}
'''रैपर फ़ंक्शन''' सॉफ़्टवेयर [[पुस्तकालय (कम्प्यूटिंग)|लाइब्रेरी (कम्प्यूटिंग)]] या [[कंप्यूटर प्रोग्राम]] में एक फ़ंक्शन (कंप्यूटर प्रोग्रामिंग) ('सबरूटीन' के लिए दूसरा शब्द) है जिसका मुख्य उद्देश्य दूसरे सबरूटीन<ref>{{cite book |title=Using Visual Basic 6 |last=Reselman |first=Bob |author2=Peasley, Richard |author3=Pruchniak, Wayne  |year=1998 |publisher=Que |isbn=9780789716330 |page=446 |url=https://books.google.com/books?id=X5ZQAAAAMAAJ }}</ref> या [[सिस्टम कॉल|प्रणाली कॉल]] को कम या कोई अतिरिक्त संगणना के साथ कॉल करना है। रैपर फ़ंक्शंस का उपयोग सबरूटीन के अंतर्निहित कार्यान्वयन के विवरण को अमूर्त करके कंप्यूटर प्रोग्राम लिखने को आसान बनाने के लिए किया जाता है।
{{redirect|आवरण विधि|सुविधा चयन में आवरण विधियाँ|विशिष्ट चयन#आवरण विधि}}
एक रैपरआवरण फ़ंक्शन एक [[पुस्तकालय (कम्प्यूटिंग)]] या एक [[कंप्यूटर प्रोग्राम]] में एक फ़ंक्शन (कंप्यूटर प्रोग्रामिंग) ('सबरूटीन' के लिए दूसरा शब्द) है जिसका मुख्य उद्देश्य दूसरे सबरूटीन को कॉल करना है<ref>{{cite book |title=Using Visual Basic 6 |last=Reselman |first=Bob |author2=Peasley, Richard |author3=Pruchniak, Wayne  |year=1998 |publisher=Que |isbn=9780789716330 |page=446 |url=https://books.google.com/books?id=X5ZQAAAAMAAJ }}</ref> या एक [[सिस्टम कॉल]] जिसमें बहुत कम या कोई अतिरिक्त संगणना नहीं है। रैपरआवरण फ़ंक्शंस का उपयोग सबरूटीन के अंतर्निहित कार्यान्वयन के विवरण को अमूर्त करके कंप्यूटर प्रोग्राम लिखने को आसान बनाने के लिए किया जाता है।


== उद्देश्य ==
== उद्देश्य ==
आवरण कार्य प्रत्यायोजन (प्रोग्रामिंग) का एक साधन है और इसका उपयोग कई उद्देश्यों के लिए किया जा सकता है।
रैपर कार्य प्रत्यायोजन (प्रोग्रामिंग) का साधन है और इसका उपयोग कई उद्देश्यों के लिए किया जा सकता है।


=== प्रोग्रामिंग सुविधा ===
=== प्रोग्रामिंग सुविधा ===
कंप्यूटर प्रोग्राम लिखने को आसान बनाने के लिए रैपरआवरण फ़ंक्शंस का उपयोग किया जा सकता है। इसका एक उदाहरण है <code>MouseAdapter</code> और [[जावा एडब्ल्यूटी]] लाइब्रेरी में समान कक्षाएं।<ref>[http://java.sun.com/docs/books/tutorial/uiswing/events/mouselistener.html The Java Tutorials]</ref>
कंप्यूटर प्रोग्राम लिखने को आसान बनाने के लिए रैपर फ़ंक्शंस का उपयोग किया जा सकता है। इसका उदाहरण [[जावा एडब्ल्यूटी]] लाइब्रेरी में <code>MouseAdapter</code> इसी प्रकार की कक्षाएं हैं।<ref>[http://java.sun.com/docs/books/tutorial/uiswing/events/mouselistener.html The Java Tutorials]</ref>
रैपरआवरण फ़ंक्शंस उन अनुप्रयोगों के विकास में उपयोगी होते हैं जो तृतीय-पक्ष लाइब्रेरी फ़ंक्शंस का उपयोग करते हैं। प्रत्येक तीसरे पक्ष के कार्यों के लिए एक रैपरआवरण लिखा जा सकता है और मूल एप्लिकेशन में उपयोग किया जाता है। यदि तीसरे पक्ष के कार्यों में परिवर्तन होता है या अद्यतन किया जाता है, तो मूल अनुप्रयोग में केवल तृतीय पक्ष कार्यों के सभी उदाहरणों को बदलने के विरोध में मूल अनुप्रयोग में रैपरआवरण को संशोधित करने की आवश्यकता होती है।


=== क्लास/ऑब्जेक्ट इंटरफेस को बदलना ===
रैपर फ़ंक्शंस उन अनुप्रयोगों के विकास में उपयोगी होते हैं जो तृतीय-पक्ष लाइब्रेरी फ़ंक्शंस का उपयोग करते हैं। प्रत्येक तीसरे पक्ष के कार्यों के लिए रैपर लिखा जा सकता है और मूल अनुप्रयोग में उपयोग किया जाता है। यदि तीसरे पक्ष के कार्यों में परिवर्तन होता है या अद्यतन किया जाता है, तो मूल अनुप्रयोग में केवल तृतीय पक्ष कार्यों के सभी उदाहरणों को बदलने के विरोध में मूल अनुप्रयोग में रैपर को संशोधित करने की आवश्यकता होती है।
{{Main|अनुकूलित्र प्रारूप}}
 
रैपरआवरण फ़ंक्शंस का उपयोग किसी मौजूदा वर्ग या ऑब्जेक्ट को एक अलग इंटरफ़ेस रखने के लिए [[एडेप्टर पैटर्न]] के लिए किया जा सकता है। मौजूदा लाइब्रेरी कोड का उपयोग करते समय यह विशेष रूप से उपयोगी होता है।
=== वर्ग/ऑब्जेक्ट इंटरफेस को बदलना ===
{{Main|एडेप्टर प्रारूप}}
 
रैपर फ़ंक्शंस का उपयोग किसी आधुनिक वर्ग या ऑब्जेक्ट को एक अलग इंटरफ़ेस रखने के लिए [[एडेप्टर पैटर्न|एडेप्टर प्रारूप]] के लिए किया जा सकता है। आधुनिक लाइब्रेरी कोड का उपयोग करते समय यह विशेष रूप से उपयोगी होता है।


=== कोड परीक्षण ===
=== कोड परीक्षण ===
रैपरआवरण फ़ंक्शंस का उपयोग फ़ंक्शन के लिए प्रत्येक कॉल के लिए एक ही त्रुटि जांच को दोहराकर बड़ी मात्रा में कोड की लंबाई बढ़ाए बिना पूर्व-मौजूदा सिस्टम फ़ंक्शंस के लिए [[डीबगर]] रूटीन लिखने के लिए किया जा सकता है।<ref>{{cite book |title=UNIX Network Programming |last=Stevens |first=Richard |author2=Fenner, Bill |author3=Rudoff |author4= Andrew M.  |year=2003 |publisher=Addison-Wesley |isbn=9780131411555 |pages=5–6, 29 |url=https://books.google.com/books?id=ptSC4LpwGA0C }}</ref> मूल फ़ंक्शन के सभी कॉल को रैपरआवरण पर कॉल के साथ प्रतिस्थापित किया जा सकता है, जिससे प्रोग्रामर को रैपरआवरण लिखे जाने के बाद त्रुटि जाँच के बारे में भूलने की अनुमति मिलती है।
रैपर फ़ंक्शंस का उपयोग फ़ंक्शन के लिए प्रत्येक कॉल के लिए एक ही त्रुटि जांच को दोहराकर बड़ी मात्रा में कोड की लंबाई बढ़ाए बिना पूर्व-आधुनिक प्रणाली फ़ंक्शंस के लिए [[डीबगर]] रूटीन लिखने के लिए किया जा सकता है।<ref>{{cite book |title=UNIX Network Programming |last=Stevens |first=Richard |author2=Fenner, Bill |author3=Rudoff |author4= Andrew M.  |year=2003 |publisher=Addison-Wesley |isbn=9780131411555 |pages=5–6, 29 |url=https://books.google.com/books?id=ptSC4LpwGA0C }}</ref> मूल फ़ंक्शन के सभी कॉल को रैपर पर कॉल के साथ प्रतिस्थापित किया जा सकता है, जिससे प्रोग्रामर को रैपर लिखे जाने के बाद त्रुटि जाँच के बारे में भूलने की अनुमति मिलती है।


एक परीक्षण चालक एक प्रकार का रैपरआवरण फ़ंक्शन है जो एक कोड मॉड्यूल का प्रयोग करता है, आमतौर पर इसे विभिन्न सेटिंग्स या पैरामीटर के साथ बार-बार कॉल करता है, ताकि प्रत्येक संभावित पथ को सख्ती से आगे बढ़ाया जा सके। यह डिलिवरेबल कोड नहीं है, लेकिन फेंका हुआ कोड भी नहीं है, जिसे आमतौर पर [[प्रतिगमन परीक्षण]] में उपयोग के लिए रखा जाता है।
परीक्षण चालक एक प्रकार का रैपर फ़ंक्शन है जो कोड मॉड्यूल का प्रयोग करता है, सामान्यतः इसे विभिन्न सेटिंग्स या पैरामीटर के साथ बार-बार कॉल करता है, जिससे प्रत्येक संभावित पथ को सख्ती से आगे बढ़ाया जा सके। यह बांटने योग्य कोड नहीं है, किन्तु यह अस्थायी योग्य कोड नहीं है, जिसे सामान्यतः [[प्रतिगमन परीक्षण]] में उपयोग के लिए रखा जाता है।
एक इंटरफ़ेस एडेप्टर एक प्रकार का रैपरआवरण फ़ंक्शन है जो उपयोगकर्ता के लिए इसे अधिक समझदार या प्रासंगिक बनाने के इरादे से एक कोड मॉड्यूल में इंटरफ़ेस को सरल, दर्जी या प्रवर्धित करता है। यह मापदंडों का नाम बदल सकता है, मापदंडों को जोड़ सकता है, मापदंडों के लिए डिफ़ॉल्ट सेट कर सकता है, और पसंद कर सकता है।
 
इंटरफ़ेस एडेप्टर एक प्रकार का रैपर फ़ंक्शन है जो उपयोगकर्ता के लिए इसे अधिक समझदार या प्रासंगिक बनाने के विश्वाश से कोड मॉड्यूल में इंटरफ़ेस को सरल, दर्जी या प्रवर्धित करता है। यह मापदंडों का नाम बदल सकता है, मापदंडों को जोड़ सकता है, मापदंडों के लिए डिफ़ॉल्ट सेट कर सकता है, और पसंद कर सकता है।


=== [[एकाधिक वंशानुक्रम]] ===
=== [[एकाधिक वंशानुक्रम]] ===
एक [[प्रोग्रामिंग भाषा]] में जो बेस क्लास के मल्टीपल इनहेरिटेंस को सपोर्ट नहीं करती है, रैपरआवरण फ़ंक्शंस का इस्तेमाल इसे अनुकरण करने के लिए किया जा सकता है। नीचे [[जावा (प्रोग्रामिंग भाषा)]] क्लास के एक हिस्से का उदाहरण दिया गया है जो लिंक्डलिस्ट और हैशसेट से विरासत में मिला है। अधिक कार्यान्वयन विवरण के लिए [[विधि (कंप्यूटर प्रोग्रामिंग)]] देखें।
[[प्रोग्रामिंग भाषा]] में जो आधार वर्ग के विविध वंशानुक्रम की सहायता नहीं करती है, रैपर फ़ंक्शंस का उपयोग इसे अनुकरण करने के लिए किया जा सकता है। नीचे [[जावा (प्रोग्रामिंग भाषा)]] वर्ग के एक भाग का उदाहरण दिया गया है जो लिंक्डलिस्ट और हैशसेट से विरासत में मिला है। अधिक कार्यान्वयन विवरण के लिए [[विधि (कंप्यूटर प्रोग्रामिंग)]] देखें।<syntaxhighlight lang="d">
<वाक्यविन्यास प्रकाश लैंग = जावा>
public class Test implements LinkedList, HashSet{
पब्लिक क्लास टेस्ट लिंक्डलिस्ट, हैशसेट को लागू करता है {


@Override
@Override
// इसमें डेटा सदस्य और डेटा विधियाँ शामिल हैं
//contains data members and data methods
// सहसंयोजक वापसी
//covariant return


}
}
</वाक्यविन्यास हाइलाइट>
</syntaxhighlight>


== लाइब्रेरी फ़ंक्शंस और सिस्टम कॉल्स ==
== लाइब्रेरी फ़ंक्शंस और प्रणाली कॉल्स ==
कई [[मानक पुस्तकालय]] कार्य, जैसे कि [[सी मानक पुस्तकालय]] में, सिस्टम कॉल के अमूर्त (कंप्यूटर विज्ञान) आयन के लिए [[इंटरफ़ेस (कंप्यूटिंग)]] के रूप में कार्य करते हैं। [[glibc]] में fork और [[execve]] प्रकार्य इसके उदाहरण हैं। वे [[कम स्तर]]|लोअर-लेवल [[कांटा (ऑपरेटिंग सिस्टम)]] को कॉल करते हैं और सिस्टम कॉल को क्रमशः निष्पादित करते हैं।
कई [[मानक पुस्तकालय|मानक लाइब्रेरी]] कार्य, जैसे कि [[सी मानक पुस्तकालय|सी मानक लाइब्रेरी]] में, प्रणाली कॉल के अमूर्त (कंप्यूटर विज्ञान) आयन के लिए [[इंटरफ़ेस (कंप्यूटिंग)]] के रूप में कार्य करते हैं। [[glibc|ग्लिबक]] में फोर्क और [[execve|निष्पादित]] प्रकार्य इसके उदाहरण हैं। वे [[कम स्तर|निचले स्तर]] के [[कांटा (ऑपरेटिंग सिस्टम)|फोर्क (ऑपरेटिंग प्रणाली)]] को कॉल करते हैं और प्रणाली कॉल को क्रमशः निष्पादित करते हैं।


यह समान रूप से नामित सिस्टम कॉल के बजाय उच्च-स्तरीय लाइब्रेरी कॉल को संदर्भित करने के लिए गलत तरीके से शब्द सिस्टम कॉल और सिस्कल का उपयोग कर सकता है, जिसे वे लपेटते हैं।<ref>{{Cite web|url=http://man7.org/linux/man-pages/man2/syscalls.2.html|title=syscalls(2) - Linux manual page|website=man7.org|access-date=2020-04-25}}</ref><ref>{{Cite web|url=https://www.gnu.org/software/libc/manual/html_node/System-Calls.html|title=System Calls (The GNU C Library)|website=www.gnu.org|access-date=2020-04-25}}</ref>
यह समान रूप से नामित प्रणाली कॉल के अतिरिक्त उच्च-स्तरीय लाइब्रेरी कॉल को संदर्भित करने के लिए गलत विधि से शब्द प्रणाली कॉल और सिस्कल का उपयोग कर सकता है, जिसे वे लपेटते हैं।<ref>{{Cite web|url=http://man7.org/linux/man-pages/man2/syscalls.2.html|title=syscalls(2) - Linux manual page|website=man7.org|access-date=2020-04-25}}</ref><ref>{{Cite web|url=https://www.gnu.org/software/libc/manual/html_node/System-Calls.html|title=System Calls (The GNU C Library)|website=www.gnu.org|access-date=2020-04-25}}</ref>




== हेल्पर फंक्शन ==
== हेल्पर फंक्शन ==
एक सहायक कार्य एक ऐसा कार्य है जो वर्णनात्मक नाम निर्दिष्ट करके और [[गणना]]ओं के पुन: उपयोग की अनुमति देकर संगणना के कुछ हिस्सों को समूहित करता है।<ref>{{cite web|url=https://web.cs.wpi.edu/~cs1101/a05/Docs/creating-helpers.html|archive-url=https://web.archive.org/web/20210507033146/https://web.cs.wpi.edu/~cs1101/a05/Docs/creating-helpers.html|archive-date=7 May 2021|title=CS 1101: Helper functions|first=Kathi|last=Fisler|publisher=[[Worcester Polytechnic Institute]]|year=2005|access-date=17 November 2021|url-status=live}}</ref> हालांकि सभी रैपरआवरण सहायक कार्य नहीं होते हैं, सभी सहायक कार्य रैपरआवरण होते हैं, और सहायक कार्यों का एक उल्लेखनीय उपयोग - समूहीकरण अक्सर उपयोग किए जाने वाले संचालन - Binary_translation#Dynamic_binary_translation में होता है, जिसमें [[मशीन कोड]] के अनुवाद में एक विशेष [[कंप्यूटर आर्किटेक्चर]] के सहायक कार्यों का उपयोग किया जाता है एक निर्देश दूसरे में आर्किटेक्चर सेट करता है।<ref>{{cite conference|title=Helper function inlining in dynamic binary translation|conference= CC: Compiler Construction|publisher=[[Association for Computing Machinery]]|first=Wenwen|last=Wang|doi=10.1145/3446804.3446851|page=107|url=https://dl.acm.org/doi/10.1145/3446804.3446851|location=New York, United States|isbn=978-1-4503-8325-7|date=3 March 2021}}</ref>
सहायक कार्य एक ऐसा कार्य है जो वर्णनात्मक नाम निर्दिष्ट करके और [[गणना]]ओं के पुन: उपयोग की अनुमति देकर संगणना के कुछ भागों को समूहित करता है।<ref>{{cite web|url=https://web.cs.wpi.edu/~cs1101/a05/Docs/creating-helpers.html|archive-url=https://web.archive.org/web/20210507033146/https://web.cs.wpi.edu/~cs1101/a05/Docs/creating-helpers.html|archive-date=7 May 2021|title=CS 1101: Helper functions|first=Kathi|last=Fisler|publisher=[[Worcester Polytechnic Institute]]|year=2005|access-date=17 November 2021|url-status=live}}</ref> चूंकि सभी रैपर सहायक कार्य नहीं होते हैं, सभी सहायक कार्य रैपर होते हैं, और सहायक कार्यों का उल्लेखनीय उपयोग - प्रायः उपयोग किए जाने वाले संचालन को गतिशील बाइनरी अनुवाद में होता है, जिसमें [[मशीन कोड]] के अनुवाद में एक विशेष [[कंप्यूटर आर्किटेक्चर]] के सहायक कार्यों का उपयोग किया जाता है, एक निर्देश दूसरे में आर्किटेक्चर सेट करता है।<ref>{{cite conference|title=Helper function inlining in dynamic binary translation|conference= CC: Compiler Construction|publisher=[[Association for Computing Machinery]]|first=Wenwen|last=Wang|doi=10.1145/3446804.3446851|page=107|url=https://dl.acm.org/doi/10.1145/3446804.3446851|location=New York, United States|isbn=978-1-4503-8325-7|date=3 March 2021}}</ref>




== यह भी देखें ==
== यह भी देखें ==
* [[रैपर लाइब्रेरी|रैपरआवरण लाइब्रेरी]]
* [[रैपर लाइब्रेरी]]
* [[चालक आवरण]]
* [[चालक आवरण|चालक रैपर]]
* एडेप्टर पैटर्न
* एडेप्टर प्रारूप
* [[डेकोरेटर पैटर्न]]
* [[डेकोरेटर पैटर्न|डेकोरेटर प्रारूप]]
* प्रतिनिधिमंडल (प्रोग्रामिंग)
* प्रतिनिधिमंडल (प्रोग्रामिंग)
* [[अग्रेषण (ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग)]]
* [[अग्रेषण (ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग)]]
* [[भाषा बंधन]] आवरण दूसरी भाषा के लिए
* [[भाषा बंधन]] रैपर दूसरी भाषा के लिए
* घूंट स्वचालित आवरण जनरेटर
* घूंट स्वचालित रैपर जनरेटर
* [[नेस्टेड समारोह]]
* [[नेस्टेड समारोह]]
* [[आंशिक आवेदन]]
* [[आंशिक आवेदन]]
Line 56: Line 56:
==संदर्भ==
==संदर्भ==
{{Reflist}}
{{Reflist}}
[[Category: जावा कोड उदाहरण के साथ लेख]] [[Category: सबरूटीन्स]]


[[Category: Machine Translated Page]]
[[Category:Articles with hatnote templates targeting a nonexistent page]]
[[Category:Created On 18/02/2023]]
[[Category:Created On 18/02/2023]]
[[Category:Machine Translated Page]]
[[Category:Pages with script errors]]
[[Category:Templates Vigyan Ready]]
[[Category:जावा कोड उदाहरण के साथ लेख]]
[[Category:सबरूटीन्स]]

Latest revision as of 12:23, 18 September 2023

रैपर फ़ंक्शन सॉफ़्टवेयर लाइब्रेरी (कम्प्यूटिंग) या कंप्यूटर प्रोग्राम में एक फ़ंक्शन (कंप्यूटर प्रोग्रामिंग) ('सबरूटीन' के लिए दूसरा शब्द) है जिसका मुख्य उद्देश्य दूसरे सबरूटीन[1] या प्रणाली कॉल को कम या कोई अतिरिक्त संगणना के साथ कॉल करना है। रैपर फ़ंक्शंस का उपयोग सबरूटीन के अंतर्निहित कार्यान्वयन के विवरण को अमूर्त करके कंप्यूटर प्रोग्राम लिखने को आसान बनाने के लिए किया जाता है।

उद्देश्य

रैपर कार्य प्रत्यायोजन (प्रोग्रामिंग) का साधन है और इसका उपयोग कई उद्देश्यों के लिए किया जा सकता है।

प्रोग्रामिंग सुविधा

कंप्यूटर प्रोग्राम लिखने को आसान बनाने के लिए रैपर फ़ंक्शंस का उपयोग किया जा सकता है। इसका उदाहरण जावा एडब्ल्यूटी लाइब्रेरी में MouseAdapter इसी प्रकार की कक्षाएं हैं।[2]

रैपर फ़ंक्शंस उन अनुप्रयोगों के विकास में उपयोगी होते हैं जो तृतीय-पक्ष लाइब्रेरी फ़ंक्शंस का उपयोग करते हैं। प्रत्येक तीसरे पक्ष के कार्यों के लिए रैपर लिखा जा सकता है और मूल अनुप्रयोग में उपयोग किया जाता है। यदि तीसरे पक्ष के कार्यों में परिवर्तन होता है या अद्यतन किया जाता है, तो मूल अनुप्रयोग में केवल तृतीय पक्ष कार्यों के सभी उदाहरणों को बदलने के विरोध में मूल अनुप्रयोग में रैपर को संशोधित करने की आवश्यकता होती है।

वर्ग/ऑब्जेक्ट इंटरफेस को बदलना

रैपर फ़ंक्शंस का उपयोग किसी आधुनिक वर्ग या ऑब्जेक्ट को एक अलग इंटरफ़ेस रखने के लिए एडेप्टर प्रारूप के लिए किया जा सकता है। आधुनिक लाइब्रेरी कोड का उपयोग करते समय यह विशेष रूप से उपयोगी होता है।

कोड परीक्षण

रैपर फ़ंक्शंस का उपयोग फ़ंक्शन के लिए प्रत्येक कॉल के लिए एक ही त्रुटि जांच को दोहराकर बड़ी मात्रा में कोड की लंबाई बढ़ाए बिना पूर्व-आधुनिक प्रणाली फ़ंक्शंस के लिए डीबगर रूटीन लिखने के लिए किया जा सकता है।[3] मूल फ़ंक्शन के सभी कॉल को रैपर पर कॉल के साथ प्रतिस्थापित किया जा सकता है, जिससे प्रोग्रामर को रैपर लिखे जाने के बाद त्रुटि जाँच के बारे में भूलने की अनुमति मिलती है।

परीक्षण चालक एक प्रकार का रैपर फ़ंक्शन है जो कोड मॉड्यूल का प्रयोग करता है, सामान्यतः इसे विभिन्न सेटिंग्स या पैरामीटर के साथ बार-बार कॉल करता है, जिससे प्रत्येक संभावित पथ को सख्ती से आगे बढ़ाया जा सके। यह बांटने योग्य कोड नहीं है, किन्तु यह अस्थायी योग्य कोड नहीं है, जिसे सामान्यतः प्रतिगमन परीक्षण में उपयोग के लिए रखा जाता है।

इंटरफ़ेस एडेप्टर एक प्रकार का रैपर फ़ंक्शन है जो उपयोगकर्ता के लिए इसे अधिक समझदार या प्रासंगिक बनाने के विश्वाश से कोड मॉड्यूल में इंटरफ़ेस को सरल, दर्जी या प्रवर्धित करता है। यह मापदंडों का नाम बदल सकता है, मापदंडों को जोड़ सकता है, मापदंडों के लिए डिफ़ॉल्ट सेट कर सकता है, और पसंद कर सकता है।

एकाधिक वंशानुक्रम

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

public class Test implements LinkedList, HashSet{

@Override
//contains data members and data methods
//covariant return

}

लाइब्रेरी फ़ंक्शंस और प्रणाली कॉल्स

कई मानक लाइब्रेरी कार्य, जैसे कि सी मानक लाइब्रेरी में, प्रणाली कॉल के अमूर्त (कंप्यूटर विज्ञान) आयन के लिए इंटरफ़ेस (कंप्यूटिंग) के रूप में कार्य करते हैं। ग्लिबक में फोर्क और निष्पादित प्रकार्य इसके उदाहरण हैं। वे निचले स्तर के फोर्क (ऑपरेटिंग प्रणाली) को कॉल करते हैं और प्रणाली कॉल को क्रमशः निष्पादित करते हैं।

यह समान रूप से नामित प्रणाली कॉल के अतिरिक्त उच्च-स्तरीय लाइब्रेरी कॉल को संदर्भित करने के लिए गलत विधि से शब्द प्रणाली कॉल और सिस्कल का उपयोग कर सकता है, जिसे वे लपेटते हैं।[4][5]


हेल्पर फंक्शन

सहायक कार्य एक ऐसा कार्य है जो वर्णनात्मक नाम निर्दिष्ट करके और गणनाओं के पुन: उपयोग की अनुमति देकर संगणना के कुछ भागों को समूहित करता है।[6] चूंकि सभी रैपर सहायक कार्य नहीं होते हैं, सभी सहायक कार्य रैपर होते हैं, और सहायक कार्यों का उल्लेखनीय उपयोग - प्रायः उपयोग किए जाने वाले संचालन को गतिशील बाइनरी अनुवाद में होता है, जिसमें मशीन कोड के अनुवाद में एक विशेष कंप्यूटर आर्किटेक्चर के सहायक कार्यों का उपयोग किया जाता है, एक निर्देश दूसरे में आर्किटेक्चर सेट करता है।[7]


यह भी देखें

संदर्भ

  1. Reselman, Bob; Peasley, Richard; Pruchniak, Wayne (1998). Using Visual Basic 6. Que. p. 446. ISBN 9780789716330.
  2. The Java Tutorials
  3. Stevens, Richard; Fenner, Bill; Rudoff; Andrew M. (2003). UNIX Network Programming. Addison-Wesley. pp. 5–6, 29. ISBN 9780131411555.
  4. "syscalls(2) - Linux manual page". man7.org. Retrieved 2020-04-25.
  5. "System Calls (The GNU C Library)". www.gnu.org. Retrieved 2020-04-25.
  6. Fisler, Kathi (2005). "CS 1101: Helper functions". Worcester Polytechnic Institute. Archived from the original on 7 May 2021. Retrieved 17 November 2021.
  7. Wang, Wenwen (3 March 2021). Helper function inlining in dynamic binary translation. CC: Compiler Construction. New York, United States: Association for Computing Machinery. p. 107. doi:10.1145/3446804.3446851. ISBN 978-1-4503-8325-7.