हैलो दोस्तों स्वागत है आपका आज की पोस्ट में. आज की पोस्ट में हम बात करेंगे की C++ में Polymorphism क्या है? और यह कितने प्रकार का होता है ? तो आइए बहुत ही आसान शब्दों में जानते हैं What is Polymorphism in C++ in Hindi - Compile time and Run time Polymorphism.
Polymorphism दो ग्रीक शब्दों से मिलकर के बना हुआ है, पहला Poly जिसका मतलब है "many" यानी बहुत सारे तथा दूसरा morphism जिसका मतलब है "form" यानी रूप । इसलिए Polymorphism का पूरा मतलब है बहुत सारे रूप या Many forms.
Related Posts:
C++ एक object oriented प्रोग्रामिंग लैंग्वेज है , जिसमें 4 main features हैं - Polymorphism, Inheritance, Encapsulation and Abstraction. जिसमें से आज हम Polymorphism में के बारे में जानने वाले हैं.
What is Polymorphism is C++ in Hindi
Polymorphism का मतलब है कि कोई object अलग अलग Conditions में अलग अलग behaviour show करता है।
Real life example:
Polymorphism का रियल लाइफ example है कि कोई व्यक्ति जब कॉलेज जाता है तो वह student या शिक्षक हो सकता है, जब वह घर पर है तो वह एक बेटा , एक पति या एक पिता हो सकता है । इस उदाहरण में एक ही व्यक्ति अलग-अलग स्थानों तथा परिस्थितियों के हिसाब से अलग-अलग स्वभाव दिखाता है। इसी प्रकार से जब प्रोग्रामिंग में कोई object अलग अलग behaviour दिखाता है तो उसके इस गुण को Polymorphism कहा जाता है।
Types of Polymorphism in Hindi
1. Compile Time Polymorphism
इसे program के compile टाइम में achieve किया जाता है इसे Early Binding या Static Polymorphism भी कहा जाता है. Method overloading इसका एक उदाहरण है अर्थात इसे Method overloading के द्वारा प्राप्त किया जाता है।
Example Program:
#include<iostream>
using namespace std;
class A{
public:
void sum(int a, int b){
cout<<"Sum="<<a+b<<endl;
}
};
class B: public A{
public:
void sum(float a, float b){
cout<<"sum="<<a+b<<endl;
}
};
int main(){
A ob;
ob.sum(7,8);
B ob2;
ob2.sum(7.5, 2.5);
return 0;
} 2. Run time Polymorphism
इसे प्रोग्राम के Run टाइम में achieve किया जाता है । इसे Dynamic Polymorphism या Late Binding भी कहा जाता है. Method overriding इसका एक उदाहरण है अर्थात इसे Method overriding के द्वारा प्राप्त किया जाता है।
Example Program:
#include<iostream>
using namespace std;
class A{
int a, b;
public:
void sum(){
cout<<"Enter the value of a and b"<<endl;
cin>>a>>b;
cout<<"Sum="<<a+b<<endl;
}
};
class B: public A{
int a, b;
public:
void sum(){
cout<<"Enter the value of a and b"<<endl;
cin>>a>>b;
cout<<"Subtraction="<<a-b<<endl;
}
};
int main(){
A *p;
B ob;
p->sum();
ob.sum();
return 0;
}