Composition: A “Has a” Relationship

Composition: पुराने Codes को Modify करके Use करने में सरलता प्रदान करना Inheritance की एक और विशेषता है। Inheritance हमें एक Program के Components को दूसरे Program से Relate करने या नए Program में  जोडने का एक नया तरीका प्रदान करता है। ये नए प्रकार की Relationship Program को Design करने के लिए Extra Flexibility प्रदान करता है और Programmer को ये सुविधा प्रदान करता है कि वह Program Architecture को इस प्रकार से Design कर सके कि Program ज्यादा से ज्यादा Accurate तरीके से Real World Relationship को Reflect करे।

Inheritance के Concept के आधार पर हम एक Class से कई अन्‍य Classes का Relation बना कर कई अन्‍य नई Classes बना सकते हैं, जिन्हे Derived Class कहा जाता है।

Inheritance को कई बार “Kind of” Relationship द्वारा Represent किया जाता है। इस Relationship का मतलब समझने से पहले हम एक अन्‍य Relationship को समझेंगे जिसे “Has a” Relationship या Composition कहा जाता है।   

हमने पहले भी Composition को अपने Program में कई बार Use किया है क्‍योंकि हम जितनी भी बार किसी Class में एक Instance Data Member Place करते हैं, हम एक “Has a” Relationship बना रहे होते हैं। जैसे यदि एक Employee Class है और उसमें name नाम का एक Data Item है, तो हम ये कह सकते हैं किस Employee का एक नाम है या यदि English Language में कहें तो कह सकते हैं कि

Employee “Has a” Name

इसी तरह से एक Employee Object का ID हो सकता है, Salary हो सकती है, आदि। यदि हम Relationship के आधार पर इन्हें भी Describe करना चाहें तो कह सकते हैं कि:

Employee “Has a” ID
Employee “Has a” Salary

 Object व उसके Featurs के बीच इस प्रकार के Relationship को Composition कहा जाता है क्योंकि एक Employee Object इन Featurs को Represent करने वाले Variables का एक Composition है।  इसी तरह से Stack Class में Stack के Data को Hold करने के लिए एक Array को और Index Number को Store करने के लिए एक top Variable] Member Data के रूप में हो सकते हैं। इस Stack Class के बारे में यदि हम कहना चाहें तो कह सकते हैं कि एक Stack Object एक Array और एक Stack-top Index का Composition है या कह सकते हैं कि एक Stack में एक Array है और एक top Index Variable है। यानी

Stack “Has a” StackArray
Stack “Has a” topIndex

 हम किसी Class में किसी दूसरी Class के Object को भी एक Member Data Variable के रूप में Declare कर सकते हैं। यानी यदि हम चाहें तो किसी School Class में किसी Student Class के Object को भी Data Member के रूप में Declare कर सकते हैं।  इसी तरह से हम एक Bicycle Class में Frame Object को Data Member के रूप में रख सकते हैं जो कि किसी अन्‍य Class का एक Object है। OOPS में Composition किसी Real World Object को इस तरह से Represent करता है, जिसमें एक Object कई अन्‍य Objects का बना हुआ हो सकता है।

“C” Language में इस “Has a” Relationship को Structure द्वारा Represent किया जाता था। यानी एक Structure कई अन्‍य Variables व Structures से Composed होता था। लेकिन एक और Relationship होती है जिसे “C” Language जैसी Procedural Languages Modal नहीं कर सकते हैं। इस Relationship को “Kind of” Relationship कहा जाता है। Composition – LearnC++

CPP Programming Language in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook C++ Programming Language in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

C++ Programming Language in Hindi | Page: 666 | Format: PDF

BUY NOW GET DEMO REVIEWS