स्थैतिक प्रेषण: Difference between revisions
(Created page with "{{Short description|During compilation, selecting which implementation of a method or function to use}} {{more citations needed|date=January 2021}} {{Polymorphism}} <!--- Perh...") |
No edit summary |
||
Line 1: | Line 1: | ||
{{Short description|During compilation, selecting which implementation of a method or function to use}} | {{Short description|During compilation, selecting which implementation of a method or function to use}} | ||
{{Polymorphism}} | {{Polymorphism}} | ||
[[कम्प्यूटिंग]] में, स्थैतिक प्रेषण [[बहुरूपता (कंप्यूटर विज्ञान)]] का एक रूप है जो [[संकलन समय]] के समय पूरी तरह से हल हो गया है। यह विधि प्रेषण का एक रूप है, जो बताता है कि कैसे भाषा या वातावरण चयन करेगा कि किस विधि या फ़ंक्शन का उपयोग करना है।<ref>{{cite book |year=2019 |title=क्लोजर के तत्व|publisher=Lulu.com|publication-date=2019 |url=https://books.google.com/books?id=JSiLDwAAQBAJ&dq=%22Static+dispatch%22+-wikipedia&pg=PA68|access-date=17 July 2022 | page=68|isbn=9780359360581 }}</ref> | |||
उदाहरण में C++में टेम्प्लेट, और अन्य भाषाओं में [[सामान्य प्रोग्रामिंग]], [[ समारोह अधिभार | फ़ंक्शन ओवरलोडिंग]] ([[ऑपरेटर ओवरलोडिंग]] सहित) के संयोजन में हैं। कोड को [[मोनोमोर्फिज्म (कंप्यूटर विज्ञान)]] कहा जाता है, जिसमें सामान्य कार्यों के विशिष्ट संस्करणों को तुरंत चालू करने और आपूर्ति की गई परिभाषाओं के आधार पर विशिष्ट फ़ंक्शन कॉल का चयन करने के लिए कॉल ग्राफ़ के माध्यम से विशिष्ट डेटा प्रकारों को निकाला और पता लगाया जाता है। | |||
== | यह डायनेमिक डिस्पैच के विपरीत है, जो रनटाइम सूचना (जैसे [[vtable|वी टेबल]] पॉइंटर्स और रन टाइम प्रकार की जानकारी के अन्य रूप) पर आधारित है। | ||
स्टेटिक डिस्पैच संभव है क्योंकि इस बात की प्रत्याभूति है कि प्रश्न में विधि का केवल एक ही कार्यान्वयन होगा। स्टेटिक डिस्पैच सामान्यतः [[ गतिशील प्रेषण | गतिशील प्रेषण]] की तुलना में तेज़ होता है, जो स्वभाव से अधिक ओवरहेड होता है। | |||
'''त्याभूति है कि प्रश्न में विधि का केवल एक ही कार्यान्वयन होगा। स्टेटिक डिस्पैच सामान्यतः [[ गतिशील प्रेषण | गतिशील प्रेषण]] की तुलना में तेज़ होता है, जो स्वभाव से अधिक ओवर''' | |||
== रस्ट में उदाहरण == | |||
जंग में (प्रोग्रामिंग भाषा)।<ref>{{cite web |title=सामान्य डेटा प्रकार - जंग प्रोग्रामिंग भाषा|url=https://doc.rust-lang.org/book/ch10-01-syntax.html#performance-of-code-using-generics |website=doc.rust-lang.org}}</ref> | जंग में (प्रोग्रामिंग भाषा)।<ref>{{cite web |title=सामान्य डेटा प्रकार - जंग प्रोग्रामिंग भाषा|url=https://doc.rust-lang.org/book/ch10-01-syntax.html#performance-of-code-using-generics |website=doc.rust-lang.org}}</ref> | ||
<syntaxhighlight lang="rust"> | <syntaxhighlight lang="rust"> |
Revision as of 08:43, 27 June 2023
Polymorphism |
---|
Ad hoc polymorphism |
Parametric polymorphism |
Subtyping |
कम्प्यूटिंग में, स्थैतिक प्रेषण बहुरूपता (कंप्यूटर विज्ञान) का एक रूप है जो संकलन समय के समय पूरी तरह से हल हो गया है। यह विधि प्रेषण का एक रूप है, जो बताता है कि कैसे भाषा या वातावरण चयन करेगा कि किस विधि या फ़ंक्शन का उपयोग करना है।[1]
उदाहरण में C++में टेम्प्लेट, और अन्य भाषाओं में सामान्य प्रोग्रामिंग, फ़ंक्शन ओवरलोडिंग (ऑपरेटर ओवरलोडिंग सहित) के संयोजन में हैं। कोड को मोनोमोर्फिज्म (कंप्यूटर विज्ञान) कहा जाता है, जिसमें सामान्य कार्यों के विशिष्ट संस्करणों को तुरंत चालू करने और आपूर्ति की गई परिभाषाओं के आधार पर विशिष्ट फ़ंक्शन कॉल का चयन करने के लिए कॉल ग्राफ़ के माध्यम से विशिष्ट डेटा प्रकारों को निकाला और पता लगाया जाता है।
यह डायनेमिक डिस्पैच के विपरीत है, जो रनटाइम सूचना (जैसे वी टेबल पॉइंटर्स और रन टाइम प्रकार की जानकारी के अन्य रूप) पर आधारित है।
स्टेटिक डिस्पैच संभव है क्योंकि इस बात की प्रत्याभूति है कि प्रश्न में विधि का केवल एक ही कार्यान्वयन होगा। स्टेटिक डिस्पैच सामान्यतः गतिशील प्रेषण की तुलना में तेज़ होता है, जो स्वभाव से अधिक ओवरहेड होता है।
त्याभूति है कि प्रश्न में विधि का केवल एक ही कार्यान्वयन होगा। स्टेटिक डिस्पैच सामान्यतः गतिशील प्रेषण की तुलना में तेज़ होता है, जो स्वभाव से अधिक ओवर
रस्ट में उदाहरण
जंग में (प्रोग्रामिंग भाषा)।[2]
trait Speak {
fn speak(&self);
}
struct Cat;
impl Speak for Cat {
fn speak(&self) {
println!("Meow!");
}
}
fn talk<T: Speak>(pet: T) {
pet.speak();
}
fn main() {
let pet = Cat;
talk(pet);
}
संकलित होने पर जंग इसे मोनोमोर्फाइज करेगा:
fn talk_cat(pet: Cat) {
pet.speak();
}
यह भी देखें
- गतिशील प्रेषण
संदर्भ
- ↑ क्लोजर के तत्व. Lulu.com. 2019. p. 68. ISBN 9780359360581. Retrieved 17 July 2022.
- ↑ "सामान्य डेटा प्रकार - जंग प्रोग्रामिंग भाषा". doc.rust-lang.org.