Q. What are the concepts
of object oriented programming ?
Ans. : OOPs के कुछ concepts जो
निम्नलिखित है –
Object : Real world की जितनी भी
entities हैं उन्हें object कहा जाता है, अर्थात संसार में जितनी भी वस्तुएं पायी
जाती हैं जिनके कुछ attributes (जैसे किसी भी चीज का name, उसका color, उसकी size,
etc.) और behaviour (जैसे किसी भी वस्तु का कार्य (functinality) जैसे bike का
start होना, उसके gear को बदलना) उन्हें
object कहा जाता है | यदि एक software development की नजर से देखा जाये तो –
यदि कोई bike बनाने वाली कंपनी है और वह अपने कंपनी के
प्रोडक्ट्स के production और उसके लेन-देन के details को manage करने के लिए एक
software बनवाना चाहता है | इस software को बनाने के लिए programmer इस कंपनी में
बनने वाले प्रत्येक bike को एक object के रूप में मानता है | प्रत्येक bike का
अपना name, model no., उसका color, etc. होता है जो उसके attributes कहलाते हैं,
और इन्हें किसी software में implement करने के लिए variables का use किया जाता है
जो इन सभी datas हो store करते हैं | इसी प्रकार datas को store, access, delete,
और update करने के लिए कुछ methods (functions) बनाये जाते हैं जिन्हें behaviour
कहते हैं |
Class : साधारण भाषा में एक class
objects का समूह होता है, जो एक ही प्रकार के गुणों को रखते हैं | दूसरे शब्दों
में कहे तो class एक ही प्रकार के objects का समूह होता है, और प्रत्येक object के
attributes और behaviour भी same होते हैं| जैसे Car, Truck, Bike, Cycle आदि
Vehical class के objects हैं |
Encapsulation : data और methods को एक
single unit (class) में इकठ्ठा करके रखने के process को encapsulation कहते हैं |
OOPs में data और method एक साथ मिलकर एक single unit बनाते हैं जिसे class कहते
हैं | किसी भी class के data को उस class के method के अतिरिक्त कहीं से भी access
नहीं किया जा सकता है | अर्थात किसी भी class के data को केवल उस class के method
ही access कर सकते हैं | इस प्रकार data को direct access से होने से बचाना ही
data hiding कहलाता है |
Data Abstraction : abstraction एक ऐसा concept
है, जिसके अनुसार किसी भी software के केवल essential (जरुरी) features ही user को
दिखाए जाते हैं बाकी के unnecessary implementations को user से hide कर दिया जाता
है | जैसे user किसी भी software के केवल user interface को ही देख और use कर पाता
है, बाकी उस software की internal functionality को user न तो कभी देख पाता है और
न ही समझ पाता है की वह कैसे बना है या फिर कैसे कार्य कर रहा है |
Inheritance : किसी एक class (child-class/sub-class)
में किसी दूसरे class (parent-class/super-class) के सभी या कुछ properties (जैसे
fields या method) को use करना ही inheritance कहलाता है | इसी गुण के कारण ही एक class का object किसी
दूसरे class के objects की properties को access कर सकता है | यह concept code
reusability को बढ़ावा देता है |अर्थात किसी भी class में बिना modification किये
ही उस class के गुणों को बढाया जा सकता है |
Polymorphism : इस concept के अनुसार किसी
भी class में एक ही name के एक से अधिक methods को बनाया जा सकता है, लेकिन इनके
parameters या type में अंतर होना चाहिए | compiler methods को आसानी से पहचान सके
इसके लिए जरुरी है कि class के सभी methods में कुछ न कुछ अंतर जरुर होना चाहिए |
जैसे void area(int radius), void area(int l,int b); यहाँ दोनों methods के name
same हैं लेकिन उनके parameters में अंतर है |
No comments:
Post a Comment