Ticker

6/recent/ticker-posts

C++ पुरी भाषा सीखे , शुरू से अंत तक , पार्ट 2, गेम में c++ को कैसे यूज करते है

 The Object-Oriented Approach

Object Oriented Language के पीछे का मूलभूत विचार ये है कि एक Program में Data और उस Data पर काम करने वाले Functions को Combine करके एक Unit के रूप में ले लिया जाए। इस Unit को Object कहा जाता है। एक Object के Function यानी Data व Data पर काम करने के लिये लिखे गए Function को "C++" में Member Function कहा जाता है।


क्योंकि ये किसी Object के किसी अमुक Class से सम्बंधित होते हैं, जो कि किसी Data को Access करने का एक मात्र माध्यम होते हैं। यदि आप किसी Object के अन्दर रखे किसी Data को Read करना चाहते हैं, तो आपको इसी Object के अन्दर लिखे उस Member Function को Call करना पड़ता है, जिसे उस Object के Data को Use करने के लिये ही लिखा गया है। यही एक Function होता है, जिसकी मदद से आप उस Object के Data को Read कर सकते हैं। आप सीधे ही Data के साथ किसी प्रकार की प्रक्रिया नहीं कर सकते हैं, क्योंकि Data Hidden रहता है। इसलिये किसी प्रकार से अचानक हुए परिवर्तन से Data सुरक्षित रहता है।


Data व Data को Use कर सकने वाले Function का एक साथ एक ही Unit के रूप में होना Encapsulation कहलाता है। Data का Hidden रहना यानी Data Hiding a Encapsulation Object Oriented Programming का मूल तथ्य या Key terms है। यदि आप किसी Data को Modify करना चाहते हैं, तो आपको पता होना चाहिए कि कौनसा Function उस Data पर काम करेगा यानी Object का वह Member Function जिसे Data के साथ लिखा गया है। कोई भी अन्य Function उस Data को Access नहीं कर सकता है। ये Processing Program को लिखना, Debug करना व Maintain करना आसान बनाती है। एक "C++ का प्रोग्राम ढेर सारे विभिन्न प्रकार के Objects का बना होता है, जो कि अपने-अपने Member Functions के द्वारा आपस में Communication करते हैं। "C++" य कई अन्य OOP Languages Member Functions को Methods कहा जाता है और Data Item Instance Variable


कहा जाता है। किसी Object के Member Function को Call करना उस Object को


Message Send करना कहलाता है।


हम एक उदाहरण लेते हैं। माना एक बड़ा प्रीति-भोज (Party) का समारोह है, जिसमें सभी मेहमान किसी Dining Table के चारों ओर बैठे हैं। किसी Table के चारों ओर बैठे लोगों को हम Functions मान सकते हैं जो कि खाना खाने का काम करते हैं और जो भी खाना Table पर रखा है, उसे Data कह सकते हैं। जब भी किसी को Table पर रखे विभिन्न प्रकार के व्यंजनों में से कुछ लेना होता है, तो वह स्वयं ही उस व्यंजन तक पहुंचता है और उसे उपयोग में ले लेता है किसी पडौसी मेहमान से कोई भी व्यंजन Pass करने को नहीं कहता। Procedural Program का भी यही तरीका होता है।


ये तरीका तब तक बहुत ठीक है जब तक कि खाना खाने वाले मेहमानों की संख्या सीमित हो यानी छ से आठ लोग अलग-अलग समूह में अलग-अलग Table पर खाना खा रहे हैं। लेकिन यदि मेहमानों की संख्या बीस या इससे भी अधिक हो तो ये तरीका ठीक नहीं कहा जा सकता है।


क्योंकि जब मेहमान अधिक होंगे तो Table भी बड़ा होगा और खाने के विभिन्न सामान पूरे Table पर काफी दूर-दूर होंगे। ऐसे में यदि कोई मेहमान किसी दूर रखे व्यंजन तक पहुंचना चाहता है तो हो सकता है कि उसके Shirt की Sleeves किसी दूसरे मेहमान के खाने में चली जाए या कई मेहमान एक साथ किसी व्यंजन पर हाथ बढ़ाया और व्यंजन Table पर गिर कर खराब हो जाए। यानी यदि मेहमानों की संख्या काफी ज्यादा हो तो एक ही Table पर भोजन करना एक परेशानी वाला काम होगा। एक बडे Procedural Program में भी यही होता है।


इस समस्या के समाधान के रूप में यदि कई छोटे-छोटे Tables हों और उन पर एक सीमित मात्रा में मेहमान हों और सबके पास उनका अपना भोजन हो तो ये एक अच्छी व्यवस्था हो सकती है। इस छोटे Table पर सभी मेहमान किसी भी व्यंजन पर आसानी से पहुंच सकते हैं और किसी प्रकार की परेशानी Create नहीं होती है। यदि कोई मेहमान किसी अन्य Table पर रखे किसी व्यंजन को लेना चाहता है तो सम्भवतया वह किसी अन्य मेहमान से उस व्यंजन को लाने के लिये कह सकता है। ये तरीका Object Oriented Programming का है जिसमें हरेक छोटी Table को एक Object कहा जा सकता है।


हरेक Object में उसका स्वयं का Data और Function होता है उसी प्रकार से जिस प्रकार से हरेक Table पर अलग अलग मेहमान होते हैं और हरेक Table पर अपना अलग खाना होता है। Data व Function के बीच होने वाले विभिन्न लेन-देन अधिकतर Object के अन्दर ही होते हैं लेकिन आवश्यकतानुसार ये भी सम्भव है कि किसी अन्य Object के Data को भी Use किया जा सके इस तरह से किसी बडे Procedural Program को छोटे-छोट Object के रूप में व्यवस्थित करके ज्यादा अच्छी तरह से Program को Maintain किया जा सकता है।


Features of Object-Oriented Languages


Objects जब आप किसी समस्या को Object Oriented Language के रूप में बनाना चाहते हैं, तब ये तय नहीं करना होता कि समस्या को Functions में किस प्रकार से विभाजित किया जाए बल्कि ये तय करना होता है कि समस्या को Objects में किस प्रकार से विभाजित किया जाए साधारण सा सवाल दिमाग में आ सकता है कि ये Objects क्या होते हैं? इसका जवाब भी इतना ही साधारण है। हम जो कुछ भी सोंच सकते हैं, दुनिया की वह हर वस्तु Object है फिर भी थोडा सा समझाने के उद्देश्य


से हम यहां पर Objects के कुछ उदाहरण दे रहे हैं।


1 Physical Objects


* किसी Lif से सम्बंधित प्रोग्राम जिसमें Program का मूल बिन्दु Liff पर निर्भर करता है, इसमें Lift को एक Object कहा जा सकता है। * किसी अर्थव्यवस्था से सम्बंधित प्रोग्राम में विश्व के सभी देशों को Object माना जा सकता है। क्योंकि इस प्रोग्राम का मूल बिन्दु विभिन्न देश होंगे, जिनकी अर्थव्यवस्था पर सारा प्रोग्राम


निर्भर होगा।


* किसी Traffic Flow से सम्बंधित प्रोग्राम में विभिन्न प्रकार के वाहन Objects हो सकते हैं. क्योंकि पूरा प्रोग्राम वाहनों को केन्द्र में रख कर ही Develop किया जाएगा।


* किसी Air Traffic से सम्बंधित प्रोग्राम में विभिन्न देशों के Aircraft Object हॉंगे।


2 किसी Computer User Environment में कम्प्यूटर के विभिन्न अवयव जैसे कि Window. Menu, Graphics Objects ( Line, Rectangle, Circle ) Mouse, Keyboard, Toolbars, Command Buttons, Disks Drives, Printer आदि Objects होते हैं।


3 Human Entities


* किसी Company के Employees


* किसी विद्यालय के विभिन्न विद्यार्थी


* विभिन्न ग्राहक


* Salesmen आदि Objects होते हैं, क्योंकि ये ही किसी प्रोग्राम की मूल इकाई होते हैं।


4 Data Storage Construct


fatf Customized Arrays


* Arrays


• Stacks * Linked Lists


* Binary Trees आदि Objects होते हैं।


5 Collection of Data

Inventory * Personal File में

• Dictionary * Longitude a Latitude Table


6 User Defined Data Types दें Time, Complex Numbers, Points Of Planes आदि Objects होंगे।


7 Computer Game


* कोई चित्र


*Chess या Checkers के मोहरे आदि


* जानवरों के चिन्ह


* विभिन्न चिन्ह आदि Objects हो सकते हैं।


इन उदाहरणों से हम समझ सकते हैं कि किसी प्रोग्राम के किसी हिस्से में या पूरे प्रोग्राम में जो


मूल वस्तु होती है, वह Object कही जा सकती है। किसी भी समस्या को Object के रूप में विभाजित करना काफी आसान है। क्योंकि दुनिया की हर वस्तु को जरूरत के अनुसार एक Object माना जा सकता है। हरेक Object की अपनी क्षमताएं होती हैं और हरेक Object कुछ ना कुछ काम कर सकता है। इसे समझने के लिये एक उदाहरण देते हैं।


बडी इमारतों में विभिन्न मंजिलों पर आने-जाने के लिये Lifts होती हैं इस Lift को एक Object माना जा सकता है। माना कि चौथी मंजिल पर किसी Lift में चार Passengers हैं और Passengers ने 8", 10" व 15 मंजिल पर जाने के लिये Button Press किया है. तो Lift में ये क्षमता होती है कि ये नीचे जा सकती है, ऊपर जा सकती है. ये इसके दरवाजों को खोल सकती है व अन्द कर सकती है, ये पता कर सकती है कि दूसरी Lifts कौनसी मंजिल पर हैं और उसे अगली किस मंजिल पर जाना है।


"C++" में एक Object के Data ये ध्यान रखते हैं कि Object में क्या-क्या क्षमताएं हैं और Object के Member Functions इस बात का ध्यान रखते हैं कि Object उन Data के साथ क्या-क्या कर सकता है। इस Lift Object में निम्न Data हो सकते हैं.


Current_floor_number Number_of passengers List_of_buttons_pussed


और Member Functions निम्न हो सकते हैं:


GoDown)


• GUpt)


• OpenDoors)


• Closet Doors() Getinfo()


Calculate Where To Go)


Object Oriented Programming में किसी वस्तु की विशेषता व वस्तु की क्षमता एक साथ में होती है, ठीक उसी प्रकार से Object Oriented Program में Data व Functions एक साथ में एक Unit के रूप में होते हैं, जिसे Object कहा जाता है। Object के Data व उन Data की State में परिवर्तन करने वाले Functions को एक Unit या इकाई के रूप में Combine करने की प्रक्रिया को Encapsulation कहते हैं। Encapsulation की प्रक्रिया से प्राप्त होने वाला Template या Description Class कहलाता है।

Post a Comment

0 Comments