कंप्यूटरप्रोग्रामिंग

Encapsulation - यह क्या है? प्रोग्रामिंग में इनकैप्सुलेशन

Encapsulation - इस के तीन मुख्य विशेषताओं में से एक है ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग (OOP)। अन्य दो - बहुरूपता और विरासत। एक साथ वे PLO ढांचा है जिसके अलग अलग भाषाओं में कार्यक्रमों लेखन की सुविधाओं की एक सीमा निर्धारित की, इन तीन सिद्धांतों का उपयोग करते हैं। वस्तु उन्मुख भाषाओं, बारी में, सख्ती से उनका अनुसरण करने के लिए बाध्य कर रहे हैं।

OOP मूल बातें

वस्तु उन्मुख इसके निर्माण के तीन स्तंभ पर प्रोग्रामिंग:

  • बहुरूपता, कैसे एक विशेष प्रोग्रामिंग भाषा वस्तुओं एक दूसरे के साथ एक रिश्ता है कि एक समान तरीके से, के साथ सौदों के सवाल का जवाब देने।
  • विरासत, एक जवाब दे रही है, कैसे पुन: प्रयोज्य कोड के उपयोग की उत्तेजना है।
  • Encapsulation, जो कार्यान्वयन छुपाने का सवाल का जवाब है जगह डेटा अखंडता लेता है, और इस तरह।

शब्दावली

Encapsulation (प्रोग्रामिंग) - क्रम में पहुँच संशोधक का उपयोग करने के अंत उपयोगकर्ता से कोड के टुकड़े को छुपाने के लिए है। यह नीचे, बारी में, डेवलपर या विरासत स्थलों का मतलब है।

"कैप्सूलीकरण" की अवधारणा का सार

परिभाषा को निर्दिष्ट कैप्सूलीकरण द्वारा सभी या प्रोग्राम कोड का हिस्सा छुपा का मतलब है कि। "कैप्सूलीकरण" की अवधारणा का सार पहुँच संशोधक हेरफेर करने के लिए है। इसका मतलब यह है कि डेवलपर तय कर सकते हैं जो गुण, विधियों, और कक्षाओं ग्राहक वर्ग के लिए खुला होगा, और क्या - छिपे हुए हैं।

पहुँच संशोधक

वहाँ पहुँच संशोधक, जो अन्य बातों के अलावा, manipulyarivat कैप्सूलीकरण (जावा प्रोग्रामिंग) करने में सक्षम है कर रहे हैं:

  • सार्वजनिक ( "सार्वजनिक" - सार्वजनिक, ओपन एक्सेस) - शेयर दोनों वर्तमान वर्गों और वस्तुओं, और बाहर की दुनिया के लिए;
  • निजी ( "prayvat" - निजी, निजी, छिपा पहुँच) - का उपयोग बंद कर दिया है, जो का सार पूरी तरह से पिछले एक के विपरीत है। यह केवल वर्तमान वर्ग से पहुँच प्रदान करता है;
  • संरक्षित ( "protekted" - संरक्षित, आधा छिपा पहुँच) - वर्तमान वर्ग और उसके डेरिवेटिव तक पहुंच;
  • डिफ़ॉल्ट - अनिर्दिष्ट पहुँच संशोधक मतलब यह है कि क्षेत्र / विधि पैकेज में सभी वर्तमान कक्षाओं के लिए देखा जा सकता है।

सी # भाषा ( "सी तीव्र") में, ऊपर (पिछले छोड़कर) के अलावा, वहां अभी भी संशोधक हैं:

  • आंतरिक ( "आंतरिक" - आंतरिक पहुँच) - वर्तमान विधानसभा में पहुंच, अन्य सभी मामलों के लिए घर के अंदर पहुँच;
  • आंतरिक संरक्षित ( "आंतरिक protekted" - आंतरिक प्रोटेक्टेड एक्सेस) - दो संशोधक के मिलन से एक में, जिसमें उन दोनों के प्रकट गुण।

कैप्सूलीकरण की भूमिका

कैप्सूलीकरण तंत्र कोड और उस में एम्बेडेड डेटा के दुरुपयोग पर बाहरी प्रभाव समाप्त। यह एक में कोड और डेटा के संयोजन के द्वारा पूरा किया है।

वस्तु और कैप्सूलीकरण

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

कैप्सूलीकरण का लाभ

Encapsulation - एन्कोडिंग प्रक्रिया को सरल बनाने के लिए एक रास्ता। कोड के कई लाइनों "पर्दे के पीछे" हैं, और मुख्य वर्ग के काम में उदाहरणों वस्तु जा रहा है।

डेटा संरक्षण के विचार

Encapsulation - यह एक ऐसी प्रणाली भी है कि डेटा संरक्षण के विचार का एहसास है। कार्यक्रम तर्क ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग क्या डेटा के सबसे किया जाएगा के आधार पर बनाया गया है छिपा पहुँच संशोधक निजी (निजी, निजी) या संरक्षित (सुरक्षित)। बाहर की दुनिया, ग्राहक गलती से या जानबूझकर एक सॉफ्टवेयर मॉड्यूल के कार्यान्वयन को नुकसान नहीं होगा। क्योंकि वास्तव में यह यह बहुत भी उद्देश्य पर नहीं करने के लिए आसान बनाता है, कैप्सूलीकरण - यह एक बहुत अच्छा सिद्धांत है।

कैप्सूलीकरण इकाई

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

इसके अलावा निम्नलिखित शब्दावली का प्रयोग किया:

  • सदस्यों - इस कोड और डेटा वर्ग में शामिल है,
  • खेतों या उदाहरण चर - तथाकथित डेटा उस वर्ग परिभाषित करता है;
  • सदस्य कार्य - वे कोड में ही होते हैं। सदस्य कार्य - एक आम नाम। एक विशेष मामला है - तरीकों।

Encapsulation विशिष्ट उदाहरण

Encapsulation (प्रोग्रामिंग) उदाहरण:

* ध्यान दें:

विवरण - विधि / प्रॉपर्टी / चर का विवरण, क्या वास्तव में कार्यक्रम में क्या होता है पर टिप्पणी अर्थात्। यह उद्घाटन / समापन टैग के माध्यम से प्रदर्शित किया गया है

प्रणाली का उपयोग करते हुए;

नाम स्थान OOPLibrary.Auto

{

///

/// इस वर्ग गाड़ी की कार्रवाई का वर्णन करने का इरादा है

///

सार्वजनिक वर्ग ऑटो

{

///

/// लिए पैदा की चर उस में लिखने के लिए, कितने साल कार, संपत्ति डेवलपर में बाहरी हस्तक्षेप ज़रूरत से ज़्यादा समझता है के बाद से

/// संशोधक निजी चिह्नित किया जाता है, अर्थात बंद कर दिया, निजी उपयोग (देखें। उपरोक्त विवरण)।

///

निजी पूर्णांक _age;

///

/// बूलियन (केवल दो संभावित मान - हाँ या नहीं) है, जो वर्णन करता है वाहन पल में बढ़ रहा है कि क्या

/// यह भी अंत उपयोगकर्ता के लिए खुला होना चाहिए, वह जो कोई भी था। इसलिए इस चर एक निजी उपयोग आपरिवर्तक "prayvat" असाइन किया गया है

///

निजी bool _isMoving;

///

/// इस स्ट्रिंग चर कार के रंग के बारे में जानकारी शामिल करना चाहिए। यह बाहरी प्रभावों से बदला जा सकता

/// क्योंकि के लिए रंग संशोधक खुली पहुंच चयनित "सार्वजनिक"।

///

सार्वजनिक स्ट्रिंग रंग;

///

/// इस विशेष मामले में, हम मानते हैं कि कार के नाम भी बदला जा सकता है

/// जनता के एक आपरिवर्तक सौंपा (सभी के लिए खुली पहुंच, वर्ग या विधानसभा की परवाह किए बिना)।

///

सार्वजनिक स्ट्रिंग नाम;

///

/// वर्ग निर्माता, और व्यक्त चर के सभी गुण खोलता है और एक छोटे से पहले निर्धारित करते हैं, उनके मूल्यों को प्राप्त

///

सार्वजनिक ऑटो ()

{

_age = 5;

_isMoving = झूठी;

रंग = "बैंगनी";

नाम = "स्कोडा ऑक्टेविया";

}

///

/// विधि ऑटो उम्र की वापसी मूल्य का एहसास है। यह क्यों ज़रूरी है?

/// निजी उपयोग संशोधक ग्राहक परिवर्तन के लिए यह संभव नहीं है।

///

/// कार वर्ष की आयु देता है।

सार्वजनिक स्ट्रिंग GetAge ()

{

वापसी "फिलहाल, चयनित मशीन" + _age + "साल।";

}

///

/// चलती कार नहीं है, तो इस विधि आंदोलन के शुरू होने से लागू करता है। चेकों चर oboznalsya, वाहन (यात्रा या नहीं), और, परिणाम के आधार पर की हालत, उचित कार्रवाई / संदेश प्रदर्शित होता है।

///

सार्वजनिक शून्य प्रारंभ ()

{

अगर (_isMoving)

{

Console.WriteLine ( "आंदोलन पहले से ही शुरू कर दिया गया है");

}

अन्यथा

{

_isMoving = true

Console.WriteLine ( "रेडी, सेट .. से अलग हो जाएं!");

}

}

///

/// तो गति शुरू किया गया था, इस विधि उसे बंद हो जाता है। पिछले मामले पर विचार के रूप में एक ही कार्यक्रम तर्क।

///

सार्वजनिक शून्य बंद करो ()

{

अगर (_isMoving)

{

_isMoving = झूठी;

Console.WriteLine ( "बंद मशीन");

}

अन्यथा

{

Console.WriteLine ( "। त्रुटि कार और इतने अभी भी खड़े हो जाओ, हिलना मत");

}

}

///

///, बाईं बारी लागू अगर वहाँ एक वाहन है

///

सार्वजनिक शून्य MoveLeft ()

{

अगर (_isMoving)

{

Console.WriteLine ( "किया जाता है बाएं मुड़ें");

}

अन्यथा

{

Console.WriteLine ( "। त्रुटि वाहन स्थिर रोटेशन सुविधा अभी उपलब्ध नहीं है।");

}

}

///

/// सही बारी के साथ ऐसा ही एक विधि

///

सार्वजनिक शून्य MoveRight ()

{

अगर (_isMoving)

{

Console.WriteLine ( "दाएँ मुड़ें सफलतापूर्वक लागू किया गया था");

}

अन्यथा

{

Console.WriteLine ( "। कार में त्रुटि स्थान सही टर्निंग यह है इस समय कार्रवाई है, यह प्रदर्शन करने के लिए असंभव है से स्थानांतरित नहीं किया गया है ..");

}

}

}

}

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 hi.birmiss.com. Theme powered by WordPress.