स्थैतिक प्रेषण: Difference between revisions
No edit summary |
No edit summary |
||
Line 11: | Line 11: | ||
'''त्याभूति है कि प्रश्न में विधि का केवल एक ही कार्यान्वयन होगा। | '''त्याभूति है कि प्रश्न में विधि का केवल एक ही कार्यान्वयन होगा।''' | ||
== रस्ट में उदाहरण == | == रस्ट में उदाहरण == |
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.