Ticker

6/recent/ticker-posts

C++ को पुरी सीखे vitaltv के साथ , गेम में कैसे यूज करते है c++ को।

 Dynamic Binding

किसी Object के Reference में कौनसा Function Call होना चाहिए, जब ये बात Program के Compile Time में तय होती है, तो इसे Early Binding कहते हैं। जबकि किसी Object के Reference में किसी काम के लिए कौनसा Procedure Execute होगा, ये बात जब Program के Runtime में तय होती है, तब इसे Late Binding या Dynamic Binding कहते हैं। Polymorphism के अन्तर्गत Dynamic Binding का काम होता है। इसे समझने के लिए निम्न चित्र देखिए


इस चित्र में हम देख सकते हैं कि Shape Class एक Base Class है जिसे Inherit


करके तीन नई Classes Circle, Box व Triangle को Create किया गया है चूंकि ये तीनों ही Classes Shape Class से Inherited हैं, इसलिए Base Class Shape का Draw) Method तीनों ही Classes Inherited 1


अब मानलो कि हमने तीनों Derived Classes का एक-एक Object Create किया और उस Object को Draw करने के लिए Draw) Method को Call किया। ऐसे में जब हम Circle Class के Subject के लिए Draw Method Call करते हैं, तब Compiler Circle Class के Draw Method को Call करके Circle Draw करता है।

जब हम Box Object Draw करने के लिए Box Class के Object के Reference में Draw) Method का Call करते है, तब Compiler Box Class के Draw Method को Execute करता है। इसी तरह से जब हम Triangle Class का Object Create करना चाहते हैं, तब Compiler Triangle Class के Draw Method को Execute करके Triangle Draw कर देता है यानी एक ही नाम का Draw Method Create हो रहे Object की Class के आधार पर उसी Class के Draw Method को Execute करता है, जिस Class का Object Create किया जा रहा है।


इस प्रक्रिया को Binding Object के साथ Method की Binding होना कहते हैं। चूंकि किस Object के Reference में कौनसा Draw Method Call होगा, इसका निर्णय Compiler Program के Runtime में करता है, इसलिए इस प्रक्रिया को Late Binding या Dynamic Binding कहते हैं।


Message Passing


Object Oriented Program में Objects का पूरा एक समूह होता हैं। ये Objects आपस में Communication करते हैं। किसी Object Oriented Programming में निम्न तीन Concepts होते है

Abstract Data के आधार पर एक ऐसी Class Definition Create करना जो Required Object + -की Properties व उसके Behaviour को Describe करे।


Create किए गए Abstract Data Type या Class के Objective Create करना।


Create होने वाले विभिन्न Objects के बीच Communication को Establish करना।


दो Objects आपस में उसी प्रकार से Information भेज कर व प्राप्त करके Communication करते हैं, जिस तरह से Real World में आम लोग आपस में Message Pass करके Communication करते हैं।


Message Passing के Concept से हम Computer Application के रूप में किसी समस्या को उसी प्रकार से Directly Modal कर सकते है, जिस तरह से उस समस्या को Real World में Describe करते हैं। Message Passing Concept में जब एक Object A किसी दूसरे Object B से Communication करना चाहता है, तथा वह Object A उस दूसरे Object B को एक Message Pass करता है यानी उस दूसरे Object B के किसी Member Function को Call करता है। इस Concept में तीन बातें होती हैं।


• Object


• Message ( Member Function of the object) Information (Arguments in the Member Function of the object)


उदाहरण के लिए मानलो कि Customer Object Account Subject से अपने Bank Balance की जानकारी प्राप्त करना चाहता है। ऐसे में Customer Object Account Object को एक Message भेजता है (यानी Account Object के Reference में किसी Member Function को Cail करता है। ) और Message में Bank Balance की जानकारी प्राप्त करने के लिए Information (Arguments) भेजता है। यानी Customer Object Account Subject से निम्नानुसार Communication ear


Account.Information(Bank_Balance);


जब हम इस प्रकार से Account Object से Bank Balance Return करवाते है, तो उस Bank Balance को Custom Object के लिए Use कर सकते हैं। इस प्रकार से एक Object (Customer) दूसरे Object (Account) से Communication करने के लिए दूसरे Object के किसी Appropriate Member Function को Call करते हुए उसे Message भेजता है, तथा किसी जानकारी के लिए Arguments के रूप में Request करता है। दूसरा Object उस Request को Message द्वारा प्राप्त करता है और Appropriate Member Function के Execution द्वारा पहले Object को उसकी Required Information प्रदान कर देता है।


OOPS एक ऐसा Concept है. जिसके आधार पर हम किसी समस्या को Design करते समय उसे विभिन्न प्रकार के Physical Objects के रूप में परिभाषित करते हैं और इन विभिन्न प्रकार के Physical Objects को Computer में किसी भी Programming Language में Logically Represent कर सकते है। विभिन्न प्रकार के Objects को जिस Programming Language अच्छी तरह से Represent किया जा सकता है, उस Programming Language को हम Object Oriented Programming Language hE nt I


"C++" एक ऐसी ही Programming Language है, जो OOPS के सभी Concept को Computer में Implement करने में सक्षम हैं। यदि हम Object को सरल रूप में परिभाषित करें, तो हम ये कहसकते हैं कि Object एक ऐसा Variable होता है, जिसमें एक से ज्यादा प्रकार के "Basic Data Type" के मानों को Store व Manipulate किया जाता है।


ये तय करने के लिए कि Object किस प्रकार के और कितने मानों को Manipulate करने का काम A Z Object किस Physical Real World Object को Logically Computer Represent करेगा, हमें एक Specification (Modal) बनाना होता है ये Specification या Modal जो कि Object की विशेषताओं या Attributes (Data Members) और उन विशेषताओं (Data Members की States) में परिवर्तन करने वाले Object के Behaviors (Member Functions) को Represent करता है।


इस Specification को ही Class कहते हैं, जो कि एक तरफ तो किसी Real World Object को Computer में Logically Represent कर रहा होता है और दूसरी तरफ वही Class किसी Object का एक ऐसा Specification होता है, जो Programming Language में उस Real World Object को Logically एक नए Data Type के रूप में Represent कर रहा होता है।


सारांश


समस्या में Procedures के बजाए Data का महत्व है। यानी OOPS में Data को Primary Level पर रखा गया है और डाटा पर Perform होने वाले Operations के Functions को Secondary Level पर रखा गया है। Problem को Functions में विभाजित करने के बजाय Objects में विभाजित किया जाता


है। Data Structure को इस प्रकार से Design किया गया है, जो कि Object को Characterize करते हैं।


Data पर Perform होने वाले Operations वाले Functions को Object के Data


Structure के साथ ही Combined कर दिया गया है, जिसे Encapsulation कहते हैं।


Data को केवल डाटा के साथ Associate किए गए Functions ही Access कर सकते हैं, जिससे Data External Functions के लिए Hidden रहता है। इस प्रक्रिया को OOPS में Data Hiding कहते हैं।


Objects आपस में Functions द्वारा Communication करते हैं। इस प्रक्रिया को Message Passing करना कहते हैं। आवश्यकता होने पर Object में नए Data व Data पर Perform होने वाले Operations


को Add किया जा सकता है। इस प्रक्रिया को OOpS में Inheritance कहते हैं।


Post a Comment

0 Comments