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

PLO - यह क्या है? ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के बुनियादी सिद्धांतों

क्यों ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग अधिकांश परियोजनाओं में पसंद किया जाता है? PLO उनकी जटिलता से निपटने के लिए एक प्रभावी तरीका प्रदान करता है। निष्पादन योग्य निर्देश के अनुक्रम के रूप में एक कार्यक्रम पर विचार करने के बजाय, यह कुछ गुण के साथ वस्तुओं के एक समूह के रूप में प्रतिनिधित्व करता है और उन्हें कुछ कार्रवाई के साथ पैदा करते हैं। यह एक स्पष्ट, अधिक विश्वसनीय और legkosoprovozhdaemyh अनुप्रयोगों का परिणाम है।

के बुनियादी सिद्धांतों ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग (OOP) का गठन क्योंकि प्रतिबंध पहले से मौजूद दृष्टिकोण में पाए गए हैं। उनमें से - डेटा और लिंक की एक बड़ी संख्या है, जो परिवर्तन पर प्रतिबंध लागू करने के लिए असीमित उपयोग। उनकी जागरूकता और कारणों महत्वपूर्ण क्या OOP प्रोग्रामिंग समझने के लिए और इसके फायदे क्या हैं।

प्रक्रियात्मक भाषाओं

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

कार्यों का पृथक्करण

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

एप्लिकेशन काम करता है, जिनमें से प्रत्येक एक स्पष्ट रूप से परिभाषित उद्देश्य और इंटरफ़ेस है में विभाजित है।

प्रक्रियाओं की जुदाई के विचार एक मॉड्यूल बुलाया वस्तु का एक बड़ा समूह में विस्तार किया जा सकता है, लेकिन सिद्धांत के अनुरूप है: घटक जो दस्तावेज़ की सूची ले जाने का समूह।

कार्य करता है और मॉड्यूल के पृथक्करण - संरचित प्रोग्रामिंग के कोने पत्थर है, जो कई दशकों के लिए जब तक PLO था यह प्रतिमान बन गया है में से एक।

संरचित प्रोग्रामिंग समस्याओं

अनुप्रयोगों बड़े हो जाते हैं, संरचित प्रोग्रामिंग कठिनाइयों का अनुभव करने लगे। परियोजनाओं बहुत जटिल हो गया है। ग्राफिक्स स्थानांतरित कर दिया। यह प्रोग्रामर की एक बड़ी संख्या शामिल है। जटिलता वृद्धि हुई है। ऊपर शूटिंग लागत, अनुसूची आगे स्थानांतरित कर दिया गया है, और वहाँ पतन आया था।

विफलताओं के कारणों का विश्लेषण तत्वों की कमी प्रक्रियात्मक प्रतिमान का पता चला। कितनी अच्छी तरह से संरचित कार्यान्वित प्रोग्रामिंग दृष्टिकोण के बावजूद, बड़े एप्लिकेशन बहुत जटिल हो गया है।

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

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

असीमित उपयोग

कार्यक्रम लिखा है, उदाहरण के लिए, सी में, डेटा के दो प्रकार हैं। स्थानीय समारोह के भीतर छिपा और अन्य प्रक्रियाओं के लिए इस्तेमाल नहीं कर रहे हैं।

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

एक बड़े कार्यक्रम में, वहाँ कई विशेषताएं और कई वैश्विक तत्व हैं। प्रक्रियात्मक प्रतिमान के समस्या यह है कि उन दोनों के बीच संभावित लिंक की एक बड़ी संख्या को जन्म देता है।

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

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

तत्वों एक बड़ा आवेदन में बदल जाता है, यह क्या प्रक्रियाओं उन तक पहुंच कहना मुश्किल है। लेकिन फिर भी यह आंकड़ा है, बदल रहा है उन्हें अन्य वैश्विक डेटा के साथ गलत आपरेशन में हो सकता है। सब कुछ और सब कुछ के साथ जुड़ा हुआ है, इसलिए एक ही स्थान पर एक परिवर्तन किसी अन्य रूप में उल्टी।

असली दुनिया मॉडलिंग

प्रक्रियात्मक प्रतिमान के दूसरे और अधिक महत्वपूर्ण समस्या यह है कि इसके स्थान विशिष्ट डेटा और कार्यों खराब असली दुनिया में चीजें simulates है। यहाँ हम ऐसे लोगों या कारों के रूप में वस्तुओं के साथ काम कर रहे हैं। वे कोई डेटा या समारोह की तरह हैं। परिसर वास्तविक दुनिया की वस्तुओं गुण और व्यवहार की है।

गुण

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

व्यवहार

व्यवहार - कि वास्तविक दुनिया की वस्तुओं प्रभाव किसी तरह का के जवाब में उत्पादन किया जाता है। आप वेतन वृद्धि के लिए एक मालिक कहते हैं, तो इस सवाल का जवाब "हाँ" या "नहीं।" आप ब्रेक पर दबाते हैं, तो कार बंद हो जाएगा। और कथन व्यवहार को रोकने के उदाहरण हैं। प्रक्रिया के समान व्यवहार: यह कुछ करने के लिए कहा जाता है, और यह ऐसा नहीं करता है। इस प्रकार, डेटा और खुद के द्वारा काम करता है वास्तविक दुनिया कुशलता से वस्तुओं मॉडल नहीं है।

को संबोधित करते

OOP में वस्तु डेटा और कार्यों का एक सेट के रूप में प्रतिनिधित्व किया है। केवल प्रक्रियाओं है कि सी ++ में सदस्य कार्यों कहा जाता है, अपने मूल्य प्राप्त करने के लिए अनुमति देते हैं। इन छिपा हुआ और परिवर्तन से सुरक्षित हैं। अर्थ और कार्यों में से एक में समाहित हैं। Encapsulation और upryatyvanie - वस्तु उन्मुख भाषाओं के विवरण में बुनियादी संदर्भ।

आप डेटा बदलना चाहते हैं, यह वास्तव में जानता है कि क्या काम करता है उन लोगों के साथ बातचीत करते हैं। कोई अन्य प्रक्रियाओं उन तक पहुँच नहीं कर सकते। इस लेखन, debugging, और कार्यक्रम बनाए रखने सरल करता है।

एक आवेदन आम तौर पर कई वस्तुओं जो एक दूसरे के साथ बातचीत, सदस्य कार्यों के कारण होते हैं।

आज, सबसे व्यापक रूप से इस्तेमाल भाषा OOP (ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग) - सी ++ (प्लस प्लस)। जावा में इस तरह के संकेत दिए गए, टेम्पलेट्स और एकाधिक वंशानुक्रम है, जो इसे कम शक्तिशाली और C ++ से बहुमुखी बनाता है के रूप में कुछ सुविधाओं का अभाव है। सी # अभी तक सी ++ की लोकप्रियता को नहीं मिला है।

यह ध्यान दिया जाना चाहिए कि इस तरह स्मालटाक रूप में कुछ अन्य वस्तु उन्मुख भाषाओं में सी ++ बुलाया तरीकों में सदस्य कार्यों तथाकथित। डेटा आइटम गुण कहा जाता है। वस्तु की एक विधि कॉलिंग उसे संदेश भेज रहा है।

समानता

आप कंपनी विभागों की वस्तुओं कल्पना कर सकते हैं। अधिकांश संगठनों में, कर्मचारियों स्टाफ, निम्नलिखित ज्यादा किराया वेतन, और फिर एक खुदरा व्यापार में लगे हुए सप्ताह के साथ एक दिन काम नहीं करते। प्रत्येक विभाग अपने स्वयं के स्टाफ, स्पष्ट रूप से सौंपा कर्तव्यों के साथ है। मजदूरी, बिक्री, लेखा कर्मचारियों, आदि विभागों के लोगों को उनकी जानकारी के साथ काम के संकेतक ...: वहाँ स्वयं के डेटा कर रहे हैं कंपनी के विभाजन, इसलिए, अपने अभियान के नियंत्रण की सुविधा और डेटा अखंडता बनाए रखता है। लेखा के लिए जिम्मेदार है पेरोल। आप जुलाई में दक्षिणी शाखा के लिए भुगतान मजदूरी की कुल राशि में जानना चाहते हैं, संग्रह में तल्लीन करने की जरूरत नहीं है। यह, जिम्मेदार व्यक्ति के लिए एक नोट भेज जब तक प्रतीक्षा करें उस व्यक्ति डेटा तक पहुँच गया है और मांगी गई जानकारी के जवाब भेजता है के लिए पर्याप्त है। यह और नियमों का अनुपालन बाहरी हस्तक्षेप के अभाव सुनिश्चित करता है। उसी तरह PLO में एक वस्तु संगठन आवेदन प्रदान करता है।

यह याद रखना चाहिए कि वस्तुओं के उन्मुखीकरण कार्यक्रम का विवरण पर लागू नहीं होता। अधिकांश निर्देश सी ऑपरेटरों ++ वास्तव में इस तरह के सी के रूप में प्रक्रियात्मक भाषाओं से मेल खाती है, सी में सदस्य कार्यों ++ बहुत सी में कार्य के लिए समान हैं केवल व्यापक संदर्भ की स्थापना के लिए कि क्या अनुदेश प्रक्रियात्मक या वस्तु उन्मुख की अनुमति देगा।

OOP में वस्तु: परिभाषा

जब बजाय अलग कार्यों में अपनी विभाजन के बारे में सवालों का वस्तु उन्मुख भाषा में प्रोग्रामिंग की समस्या पर विचार जुदाई सुविधाओं में एक समस्या है। OOP सोच बहुत अनुप्रयोगों को विकसित करने में आसान है। इस सॉफ्टवेयर और असली वस्तुओं की समानता के कारण है।

चीजें किस तरह OOP में वस्तुओं रहे हैं? यहां कुछ सामान्य श्रेणियां हैं।

OOP में भौतिक वस्तु - है:

  • परिवहन प्रवाह मॉडल;
  • सर्किट डिजाइन कार्यक्रमों में विद्युत उपकरणों;
  • देश की अर्थव्यवस्था मॉडल;
  • हवाई यातायात नियंत्रण प्रणाली में विमान।

पर्यावरण को उपयोगकर्ता के कंप्यूटर के तत्वों:

  • मेनू;
  • खिड़कियों;
  • ग्राफिक्स (लाइन, आयत, वृत्त);
  • कीबोर्ड, माउस, प्रिंटर, डिस्क ड्राइव।

लोग:

  • श्रमिकों;
  • छात्रों;
  • ग्राहकों;
  • विक्रेताओं।

जानकारी:

  • बही खाता;
  • एक निजी मामला है;
  • शब्दकोश;
  • अक्षांश और बस्तियों के देशांतर की मेज।

असली दुनिया का संचार वस्तुओं और PLO कार्य करता है और डेटा वे प्रोग्रामिंग में क्रन्तिकारी परिवर्तन का एक संयोजन का परिणाम था। इस तरह वहाँ प्रक्रियात्मक भाषाओं में एक करीबी मैच।

वर्ग

एक वर्ग के सदस्य - PLO में वस्तुओं। इसका क्या मतलब है? प्रोग्रामिंग भाषाओं में अंतर्निहित डेटा प्रकार। प्रकार पूर्णांक, टी। ई एक पूर्णांक है कि सी में पूर्व निर्धारित है ++। आप पूर्णांक चर के किसी भी संख्या घोषणा कर सकते हैं।

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

PLO में वर्ग - इसी तरह की वस्तुओं के एक नंबर का एक विवरण। राजकुमार, स्टिंग और मैडोना गायकों हैं। वहाँ उस नाम से कोई नहीं है, लेकिन लोगों को तो कहा जा सकता है, वे उपयुक्त विशेषताओं है। OOP वस्तु - इस उदाहरण।

विरासत

जीवन में, कक्षाओं उपवर्गों में विभाजित हैं। उदाहरण के लिए, जानवरों उभयचर, स्तनधारी, पक्षी, कीड़े में और इतने पर विभाजित हैं। डी

विभाजन के इस प्रकार के सिद्धांत है कि प्रत्येक उपवर्ग वर्ग से है जिसके साथ आम सुविधाओं है। सभी कारों के पहियों और एक मोटर है। यह वाहनों की परिभाषित करने वाली विशेषताओं है। प्रत्येक उपवर्ग की सामान्य विशेषताओं के अलावा अपने स्वयं के लक्षण है। वहाँ कई बस सीटें हैं और ट्रकों भारी बोझ ले जाने के लिए जगह है।

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

रीसाइक्लिंग

एक बार जब वर्ग बनाया है और डिबग है, यह अपने खुद के अनुप्रयोगों में पुन: उपयोग करने के लिए अन्य प्रोग्रामर को हस्तांतरित किया जा सकता है। यह कार्यों का एक पुस्तकालय है कि विभिन्न अनुप्रयोगों में शामिल किया जा सकता की तरह है।

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

नई डेटा प्रकार का निर्माण

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

position1 = स्थिति + मूल,

जहां position1, स्थिति और मूल - स्वतंत्र संख्यात्मक मानों की एक जोड़ी। एक वर्ग है कि इन दो मान होते हैं, और इसके उद्देश्यों के चर घोषणाओं का निर्माण एक नए डेटा प्रकार पैदा करता है।

बहुरूपता, अधिक भार

ऑपरेटर्स = (बराबर), और + (धन) गणित में प्रयोग किया जाता स्थितीय ऊपर के साथ ही कार्रवाई नहीं करते निर्मित एक ऐसे पूर्णांक के रूप में प्रकार,। स्थिति वस्तुओं, और अन्य। पूर्व निर्धारित और सॉफ्टवेयर द्वारा निर्धारित नहीं कर रहे हैं। कैसे इन ऑपरेटरों जानते हैं कि कैसे उन्हें संभाल करने के लिए करते हैं? जवाब इस तथ्य नए व्यवहार उनके लिए सेट किया जा सकता है कि में निहित है। ये अभियान सदस्य कार्यों कक्षा स्थिति हो जाएगा।

क्या वे काम कर रहे हैं बहुरूपता कहा जाता है पर निर्भर करता है ऑपरेटरों या प्रक्रियाओं का उपयोग करना। जब एक ऑपरेटर, जैसे + या = नए डेटा प्रकार के साथ काम करने का अवसर हो जाता है, यह कहना है कि यह ओवरलोड हो गया है। PLO में अधिभार - बहुरूपता का एक प्रकार। यह अपने महत्वपूर्ण सुविधा है।

PLO "नौसिखियों के लिए वस्तु उन्मुख प्रोग्रामिंग" पर एक किताब हर किसी को और अधिक विस्तार से इस विषय के साथ परिचित हो करने की अनुमति देगा।

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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