Unit I-Inheritance and Polymorphism

Inheritance:-

 इनहेरिटेंस  की प्रापर्टी की सहायता से नये सब क्‍लास में एक या अधिक पुराने जनरल क्‍लास के कोड को समाहित करके इन्‍हें पुन: उपयोग किया जा सकता  है। इनहेरिटेंस की मदद से कोड को दुबारा प्रयोग किया जाता है।

उदाहरण के लिये vehicle एक  क्‍लास है।  आब्‍जेकट “car,” “truck,” and “motorcycle” इस vehicle क्‍लास के ‘सब क्‍लास’ है। तो ‘सुपर क्‍लास’  vehicle  के कोड इनहेरिटेंस की प्रापट्री के कारण अपने आप सब क्‍लास को मिल जाते है।

भविष्‍य में सुपर क्‍लास में बदलाव करने पर सब क्‍लास में ये बदलाव आपने आप लागू हो जायेंगे।  सब क्‍लास के कामन कोड को एक साथ सुपर क्‍लास में लिखा जा सकता है। सब क्‍लास का आबजेक्‍ट बनाने पर इसमें सभी प्रापट्री जो सुपर क्‍लास में लिखी हैं इस आब्‍जेक्‍ट को  मिल जायेंगी। 

Base class
Class Hello
   Public Sub sayHelloWorld()
   Console.WriteLine(“Hello World”)
   End Sub
End Class


Derived class
Class Welcome: Inherits Hello
   Public Sub sayWelcome()
   Console.WriteLine(“Welcome”)
   End Sub
End Class


Class CallAllFunctions
   Shared Sub Main()
       Dim a As Welcome = new Welcome()
       a.sayHelloWorld()
       a.sayWelcome()
   End Sub
End Class


बहुरूपता Polymorphism:-

polymorphism एक ग्राीक शब्‍द है जिसमें  poly का अर्थ कई  और morphism का अर्थ है रूप . पालीमाफ्रिज्‍म, कान्‍सेप्‍ट  की सहायता से हम एक आब्‍जेक्‍ट में कई रूप लेने की क्षमता ला सकते है। OOPs की  इस पालीमार्फिजम विशेषता के कारण हम एक ही क्रिया विभिन्न तरीकों से कर सकते है, एक वैरियेबल अलग-अलग समय अलग-अलग वैल्‍यू का उपयोग कर सकता है।

 Polymorphism Object Oriented Programming का एक बहुत important concept है। जो की ऑब्जेक्ट के बेस पर Applications के रन टाइम पर व्यवहार को Change करता है Polymorphism में (inheritance) का भी उपयोग किया जाता है।

Polymorphism के विरासत (inheritance) में base class और derived class में एक ही नाम का function होता है। लेकिन उनकी परिभाषा अलग-अलग होती है। OOPS(Object-oriented programming) में Polymorphism का उपयोग तब किया जाता है। जब parent class का reference child class के द्वारा इस्तेमाल किया जाता है।


Encapsulation in oops:-

 ऑब्जेक्ट-ओरिएंटेड कंप्यूटर प्रोग्रामिंग (ओओपी) भाषाओं में, इनकैप्सुलेशन (या ओओपी एनकैप्सुलेशन) की अवधारणा  में डेटा एवं उस पर प्रासेस करने वाले मेथड को एक  बंडल या एक इकाइ के रूप में रखा जाता है।  कई प्रोग्रामिंग भाषाएं में डाटा एवं डेटा पर काम करने वाली मेथड , एक इकाई में रखी जाती हैं जिन्‍हें क्‍लास कहते है।

Data Encapsulation can be described as the technique of binding up of data along with its correlate methods as a single unit।


Abstraction in OOPs:-

 एब्‍सटे्क्‍शन  “केवल आब्‍जेक्‍ट की  आवश्‍यक विशेषताओं को प्रदर्शित करता है।  और अनावश्यक विवरणों को “छिपाता” है। इसे किसी प्रोग्राम के आंतरिक विवरण को छिपाने और केवल कार्यक्षमता को उजागर करने की तकनीक के रूप में वर्णित किया जा सकता है।

 उदाहरण के लिए, जब हम कार चला रहे होते हैं। तो हम केवल कार चलाने के बारे में जानकारी की आवश्‍यकता हाती  हैं। जैसे कार को स्टार्ट/स्टॉप, एक्सीलरेट/ब्रेक आदि। हमें कार की आन्‍तरिक कार्यपद्वति जानने  की आवश्‍कता नहीं होती।

 data hiding, In simple terms, abstraction “displays” only the relevant attributes of objects and “hides” the unnecessary details. For example, when we are driving a car, we are only concerned about driving the car like start/stop the car, accelerate/ break, etc.

It can be described as the technique of hiding internal details of a program and exposing the functionality only