अपारदर्शी डेटा प्रकार: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 7: Line 7:
कुछ भाषाएँ जैसे [[सी प्रोग्रामिंग भाषा]], अपारदर्शी अभिलेख कंप्यूटर विज्ञान संरचना की घोषणा की अनुमति देती हैं, जिसका आकार और क्षेत्र क्लाइंट से छिपे होते हैं। केवल चीज जो ग्राहक इस प्रकार की वस्तु के साथ कर सकता है, वह है अपारदर्शी सूचक उत्पन्न करने के लिए इसका [[स्मृति पता]] लेना हैं।
कुछ भाषाएँ जैसे [[सी प्रोग्रामिंग भाषा]], अपारदर्शी अभिलेख कंप्यूटर विज्ञान संरचना की घोषणा की अनुमति देती हैं, जिसका आकार और क्षेत्र क्लाइंट से छिपे होते हैं। केवल चीज जो ग्राहक इस प्रकार की वस्तु के साथ कर सकता है, वह है अपारदर्शी सूचक उत्पन्न करने के लिए इसका [[स्मृति पता]] लेना हैं।


यदि अंतराफलक द्वारा प्रदान की गई जानकारी प्रकार के आकार को निर्धारित करने के लिए पर्याप्त है, तो ग्राहक उस प्रकार के [[चर (कंप्यूटर विज्ञान)]], [[क्षेत्र (कंप्यूटर विज्ञान)]], और [[सरणी डेटा संरचना]] की घोषणा कर सकते हैं, उनके मूल्यों को निर्दिष्ट कर सकते हैं और संभवतः समानता के लिए उनकी तुलना कर सकते हैं। . आमतौर पर ऐसा ही होता हैअपारदर्शी संकेत के लिए।
यदि अंतराफलक द्वारा प्रदान की गई जानकारी प्रकार के आकार को निर्धारित करने के लिए पर्याप्त है, तो ग्राहक उस प्रकार के [[चर (कंप्यूटर विज्ञान)]], [[क्षेत्र (कंप्यूटर विज्ञान)]] और [[सरणी डेटा संरचना]] की घोषणा कर सकते हैं, उनके मूल्यों को निर्दिष्ट कर सकते हैं। संभवतः समानता के लिए उनकी तुलना कर सकते हैं और अपारदर्शी संकेत के लिए सामान्यतः ऐसा ही होता है ।


कुछ भाषाओं में, जैसे कि [[जावा (प्रोग्रामिंग भाषा)]], प्रदान किया गया अपारदर्शी प्रकार का एकमात्र प्रकार अपारदर्शी सूचक है। दरअसल, जावा (और कई अन्य भाषाओं) में अभिलेख हमेशा पॉइंटर्स के माध्यम से संभाले जाते हैं।
कुछ भाषाओं में जैसे कि [[जावा (प्रोग्रामिंग भाषा)]] प्रदान किया गया अपारदर्शी प्रकार का एकमात्र प्रकार अपारदर्शी सूचक है। वास्तव में, जावा और कई अन्य भाषाओं में अभिलेख सदैव संकेत के माध्यम से संभाले जाते हैं।


कुछ भाषाएँ आंशिक रूप से अपारदर्शी प्रकारों की अनुमति देती हैं, उदा. अभिलेख जिसमें कुछ सार्वजनिक क्षेत्र होते हैं, जो सभी ग्राहकों के लिए ज्ञात और सुलभ होते हैं, और कुछ छिपे हुए क्षेत्र जो अंतराफलक में प्रकट नहीं होते हैं। इस तरह के प्रकार वस्तु-उन्मुख प्रोग्रामिंग में मौलिक भूमिका निभाते हैं।
कुछ भाषाएँ आंशिक रूप से अपारदर्शी प्रकारों की अनुमति देती हैं। उदाहरण अभिलेख जिसमें कुछ सार्वजनिक क्षेत्र होते हैं, जो सभी ग्राहकों के लिए ज्ञात और सुलभ होते हैं और कुछ छिपे हुए क्षेत्र जो अंतराफलक में प्रकट नहीं होते हैं। इस प्रकार के प्रकार वस्तु-उन्मुख प्रोग्रामिंग में मौलिक भूमिका निभाते हैं।


जो जानकारी अंतराफलक में नहीं है, उसे इसके [[कार्यान्वयन (कंप्यूटिंग)]] में घोषित किया जा सकता है, या किसी अन्य मित्र-मात्र अंतराफलक में घोषित किया जा सकता है। यह दूसरा विकल्प छिपी हुई जानकारी को दो या दो से अधिक मॉड्यूल द्वारा साझा करने की अनुमति देता है।
जो जानकारी अंतराफलक में नहीं है, उसे इसके [[कार्यान्वयन (कंप्यूटिंग)]] में घोषित किया जा सकता है। किसी अन्य मित्र-मात्र अंतराफलक में घोषित किया जा सकता है। यह दूसरा विकल्प छिपी हुई जानकारी को दो या दो से अधिक मॉड्यूल द्वारा साझा करने की अनुमति देता है।


== यह भी देखें ==
== यह भी देखें ==

Revision as of 12:51, 28 February 2023

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

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


विभिन्न भाषाओं में प्रयोग

कुछ भाषाएँ जैसे सी प्रोग्रामिंग भाषा, अपारदर्शी अभिलेख कंप्यूटर विज्ञान संरचना की घोषणा की अनुमति देती हैं, जिसका आकार और क्षेत्र क्लाइंट से छिपे होते हैं। केवल चीज जो ग्राहक इस प्रकार की वस्तु के साथ कर सकता है, वह है अपारदर्शी सूचक उत्पन्न करने के लिए इसका स्मृति पता लेना हैं।

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

कुछ भाषाओं में जैसे कि जावा (प्रोग्रामिंग भाषा) प्रदान किया गया अपारदर्शी प्रकार का एकमात्र प्रकार अपारदर्शी सूचक है। वास्तव में, जावा और कई अन्य भाषाओं में अभिलेख सदैव संकेत के माध्यम से संभाले जाते हैं।

कुछ भाषाएँ आंशिक रूप से अपारदर्शी प्रकारों की अनुमति देती हैं। उदाहरण अभिलेख जिसमें कुछ सार्वजनिक क्षेत्र होते हैं, जो सभी ग्राहकों के लिए ज्ञात और सुलभ होते हैं और कुछ छिपे हुए क्षेत्र जो अंतराफलक में प्रकट नहीं होते हैं। इस प्रकार के प्रकार वस्तु-उन्मुख प्रोग्रामिंग में मौलिक भूमिका निभाते हैं।

जो जानकारी अंतराफलक में नहीं है, उसे इसके कार्यान्वयन (कंप्यूटिंग) में घोषित किया जा सकता है। किसी अन्य मित्र-मात्र अंतराफलक में घोषित किया जा सकता है। यह दूसरा विकल्प छिपी हुई जानकारी को दो या दो से अधिक मॉड्यूल द्वारा साझा करने की अनुमति देता है।

यह भी देखें

संदर्भ

  1. Friedman, Daniel P.; Wand, Mitchell; Haynes, Christopher T. (2001). Essentials of Programming Languages (2nd ed.). MIT Press. p. 42. ISBN 978-0-262-06217-6.
  2. Butenhof, David R. (1997). POSIX थ्रेड्स के साथ प्रोग्रामिंग. Addison-Wesley. p. 31. ISBN 978-0-201-63392-4.
  3. Kernighan, Brian W.; Ritchie, Dennis M. (1988). The C Programming Language (2nd ed.). Prentice Hall. ISBN 0-13-110362-8.