Inheritance: A “Kind of” Relationship

Inheritance: OOPS Real World के उस Concept को Represent करता है जिसे Generalization कहा जाता है। यानी यदि एक Maruti Car है, एक Tata Sumo Car है और एक Ferrari Car है, तो हम कह सकते हैं। ये तीनों कारें एक General Concept जिसे Car कहते हैं, के Specific उदाहरण हैं। इन सभी कारों में Wheels होते हैं लेकिन हो सकता है कि Maruti Car के Wheels की चौडाई कम हो और Ferrari Car के Wheels की चौडाई अधिक हो। इसी तरह से हो सकता है कि Tata Sumo Car के Steering का व्यास अन्‍य कारों की तुलना में अधिक हो। यानी तीनों Cars की General Specification के मान में अन्तर हो सकता है जबकि तीनों Cars के Attributes समान Features को Share करते हैं।  लेकिन फिर भी हम ये कह सकते हैं कि:

Maruti एक प्रकार की Car है। इसी तरह से
Tata Sumo भी एक प्रकार की  Car है और
Ferrari भी एक प्रकार की Car है।

यदि हम इसे English Language में कहें तो कह सकते हैं कि:

Maruti is a “Kind of” Car
Ferrari is a “Kind of” Car
Tata Sumo is a “Kind of” Car

इसी तरह से माना हम एक Employee Class बनाते हैं। लेकिन Employee भी कई प्रकार के हो सकते हैं। जैसे Labor, Manager, Scientist आदि। ये सभी किसी Company के Employee हो सकते हैं, लेकिन ये सभी अलग-अलग प्रकार के (Kind of) Employee हैं। फिर भी हर Employee का Employee Class से एक सम्बंध है, जो इनके अलग-अलग प्रकार के Employee होने को Represent है।

ये दोनों उदाहरण Cars व Employees की General Category को Represent करते हैं। हम हमारे दैनिक जीवन में भी Generalization को काफी Use करते हैं। हम जानते हैं कि घोडा, गाय, आदमी, औरत आदि सभी सजीव प्रकार के उदाहरण हैं। इसी तरह से Car, Bus, Truck आदि Vehicle प्रकार के उदाहरण हैं। Macintosh, व PCs Computer प्रकार के उदाहरण हैं। इन सभी Relationships को यदि हम English भाषा में Represent करें तो कह सकते हैं कि

Human Being is “a Kind” of Mammal
Dog is “a Kind” of Mammal
Horse is “a Kind” of Mammal

Maruti is “a Kind” of Car
Ferrari is “a Kind” of Car
Tata Indica is “a Kind” of Car

यानी हम कह सकते हैं कि Real World में हर Object का उसकी Class से एक प्रकार का “Kind of” सम्बंध होता है इसी तरह से हर Object Attributes या Features का एक Composition होता है।

जब Real World में Physically विभिन्न प्रकार के Objects के बीच इस प्रकार का सम्बंध होता है तो Logically यही सम्बंध हमें Computer में भी Establish करना जरूरी है तभी हम किसी Computer Language को Object Oriented Language कह सकते हैं।

Inheritance Objects की Classes के बीच इसी Relationship को Establish करने की क्षमता प्रदान करता है। अक्सर Inheritance को Family Relationship के आधार पर समझाने की कोशिश की जाती है। जबकि “C++” में हम जिस प्रकार के Inheritance का प्रयोग करते हैं, वह Inheritance Family Relationship द्वारा अच्छी तरह से Describe नहीं किया जा सकता है।

Family Relationship में देखें तो एक Child के केवल एक ही मां व बाप हो सकता है।  यानी एक Child केवल उसकी मां व पिता के गुण को ही Represent कर सकता है, जबकि “C++” में ऐसा नहीं होता है क्योंकि “C++” में Multiple Inheritance को मान्‍यता प्रदान की गई है। यानी एक Object में कई अन्‍य Classes के गुण हो सकते हैं। हालांकि “Java” के Inheritance को Family Relationship से Represent किया जा सकता है, क्योंकि “Java” में Multiple Inheritance को ही मान्‍यता दी गई है। (Inheritance: A “Kind of” Relationship)

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