Polymorphism in java in hindi

“Polymorphism in java in hindi” Hello दोस्तों! आज इस पोस्ट में आपको “जावा में पॉलीमॉर्फिज़म की परिभाषा और उदाहरण(Polymorphism in java in hindi)” को पढ़ेंगे , इस पोस्ट को आप पूरा पढ़िए. इस article  को बहुत ही आसान और सरल भाषा में लिखा गया है. यह article  आपके exam के लिए बहुत उपयोगी साबित होगी. जो छात्र परीक्षा की तैयारी रहे हैं वो सभी इस article  की मदद से आप सभी आसानी से हिंदी भाषा में सीख सकते हैं| 

(जावा में बहुरूपता हिंदी में) Polymorphism in java in hindi

Polymorphism in java in hindi

जावा में पॉलीमॉर्फिज़म की परिभाषा और उदाहरण

Polymorphism in java in hindi

Polymorphism (पॉलीमॉर्फिज़म) (Polymorphism in java in hindi )जावा में एक महत्वपूर्ण आधारभूत अवधारणा है। यह एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग कॉन्सेप्ट है जिसका उपयोग करके विभिन्न तरीकों से कोड को लिखा जा सकता है और कोड की अद्वितीयता और उपयोगिता को बढ़ा सकता है। इस लेख में, हम पॉलीमॉर्फिज़म के बारे में विस्तार से चर्चा करेंगे और इसे हिंदी में समझाएंगे।

परिचय(Introduction)

जब हम जावा प्रोग्रामिंग में पॉलीमॉर्फिज़म की बात करते हैं, तो हम बात कर रहे हैं विभिन्न तरीकों से एक ही नाम के संगठन को कैसे उपयोग किया जा सकता है। इसका मतलब है कि हम एक ऑब्जेक्ट के साथ अलग-अलग तरीकों से बातचीत कर सकते हैं और उसे अलग-अलग तरीकों से व्यवहार करा सकते हैं।

बहुरूपता क्या है?( What is Polymorphism?)

“Polymorphism in java in hindi” पॉलीमॉर्फिज़म शब्द संस्कृत शब्द “पॉली” और “मॉर्फ” से बना है, जो कि “बहुत” और “आकार” का अर्थ है। यह एक ऐसी विशेषता है जिसके द्वारा हम एक ही नाम के ऑब्जेक्ट को अनेक तरीकों से इस्तेमाल कर सकते हैं। पॉलीमॉर्फिज़म की मूलभूत विशेषता है कि इसके द्वारा हम अद्वितीयता और उपयोगिता को बढ़ा सकते हैं।

बहुरूपता के प्रकार(Types of Polymorphism)

पॉलीमॉर्फिज़म के विभिन्न प्रकार हैं जो हमें एक ऑब्जेक्ट को अलग-अलग तरीकों से व्यवहार कराने की सुविधा प्रदान करते हैं। इनमें से कुछ प्रमुख प्रकार हैं:

विधि अधिभार(Method Overloading)

“Polymorphism in java in hindi” मे मैथड ओवरलोडिंग एक प्रकार का पॉलीमॉर्फिज़म है जिसमें हम एक कक्षा में एक ही नाम के कई मैथड्स घोषित कर सकते हैं। इन मैथड्स की अद्वितीयता यहाँ पैरामीटर्स के आधार पर निर्धारित होती है।

मैथड ओवरलोडिंग एक ऐसी प्रक्रिया है जिसमें आप एक ही नाम के मेथड को अलग-अलग निर्देश और पैरामीटरों के साथ परिभाषित कर सकते हैं। इसे इसलिए कहा जाता है क्योंकि आप अपनी क्लास के भीतर एक से अधिक मेथड्स को एक ही नाम देकर ओवरलोड कर सकते हैं। जब आप मेथड को कॉल करते हैं, तो जावा रनटाइम विचार करेगा कि कौनसा मेथड कॉल करना है, आपके पास किस प्रकार के पैरामीटर हैं। इससे आपको एक मेथड के रूप में विभिन्न विषयों का उपयोग करने की स्वतंत्रता मिलती है और आप अपने कोड को और व्यापक बना सकते हैं।

Example

class Multiply
{
void mul(int a, int b)
{
System.out.println("Sum of two=" + (a * b));
}
void mul(int a, int b, int c)
{
System.out.println("Sum of three=" + (a * b * c));
}
}
public class Polymorphism
{
public static void main(String args[])
{
Multiply m = new Multiply();
m.mul(7, 10);
m.mul(20, 6, 5);
}
}
Output-
Sum of two=70
Sum of three=600

विधि अधिभावी (Method Overriding)

“Polymorphism in java in hindi” मे मैथड ओवरराइडिंग एक और प्रकार का पॉलीमॉर्फिज़म है जिसमें हम एक संबंधित उपकरण इंटरफेस या बेस कक्षा के एक वारिसी क्लास में एक मैथड को दुबारा घोषित करते हैं। इससे हम उपयोगकर्ता द्वारा उपकरण के विशेषताओं का उपयोग कर सकते हैं और उपकरण का व्यवहार बदल सकते हैं।

मैथड ओवरराइडिंग एक और प्रक्रिया है जिसमें आप एक सुपरक्लास के बाहर एक मेथड की परिभाषा को बदल सकते हैं। जब आप एक मेथड को ओवरराइड करते हैं, तो आपको उसी नाम के साथ एक नया दिशा और विषय देने का अवसर मिलता है। यह प्रक्रिया अधिकतम व्यापकता और पुनर्गुणवत्ता प्रदान करती है, क्योंकि आप उपयोगकर्ता द्वारा कॉल होने वाले मेथड की विषय और व्यवहार को बदल सकते हैं।

Example

class Animal {
public void sound() {
System.out.println(“Animal makes a sound”);
}
}
class Dog extends Animal {
@Override
public void sound() {
System.out.println(“Dog barks”);
}
}
class Cat extends Animal {
@Override
public void sound() {
System.out.println(“Cat meows”);
}
}
public class Main {
public static void main(String[] args) {
Animal animal1 = new Animal();
Animal animal2 = new Dog();
Animal animal3 = new Cat();
animal1.sound(); // Output: Animal makes a sound animal2.sound(); // Output: Dog barks animal3.sound(); // Output: Cat meows }
}
Output
Animal makes a sound
Dog barks
Cat meows

गतिशील विधि प्रेषण(Dynamic Method Dispatch)

“Polymorphism in java in hindi” डायनेमिक मैथड डिस्पैच वह प्रक्रिया है जिसमें रनटाइम में यह तय होता है कि किस मैथड को कॉल किया जाना है, उपकरण के तत्व के आधार पर। यह बाद में बाइंड होता है और उपकरण के अनुक्रमिक वारिसी क्लास के मैथड को कॉल करता है।

डायनामिक पॉलिमॉर्फिज़म वह प्रक्रिया है जहां आपको एक ऑब्जेक्ट के द्वारा उसकी विषयता को निर्धारित करने का अवसर मिलता है। जब एक ऑब्जेक्ट को बनाया जाता है, तो उसकी विषयता केवल उसकी अस्थायी रूप से निर्धारित होती है। लेकिन जब वह ऑब्जेक्ट एक वेरिएबल में स्टोर किया जाता है और उसे उसकी सुपरक्लास के संदर्भ में उपयोग किया जाता है, तो उसकी विषयता रेफरेंस के आधार पर निर्धारित होती है। इससे आप एक ही वेरिएबल के माध्यम से विभिन्न ऑब्जेक्ट्स के रूप में उपयोग कर सकते हैं और उनके विषयों को निर्धारित कर सकते हैं।

Example

class Animal {
public void makeSound() {
System.out.println(“The animal makes a sound”);
}
}
class Dog extends Animal {
@Override
public void makeSound() {
System.out.println(“The dog barks”);
}
}
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println(“The cat meows”);
}
}
public class Main {
public static void main(String[] args) {
Animal animal1 = new Animal();
Animal animal2 = new Dog();
Animal animal3 = new Cat();
animal1.makeSound(); // Output: The animal makes a sound animal2.makeSound(); // Output: The dog barks animal3.makeSound(); // Output: The cat meows }
}
Output
The animal makes a sound
The dog barks
The cat meows

संकलन-समय बहुरूपता(Compile-time Polymorphism)

कॉम्पाइल-टाइम पॉलीमॉर्फिज़म एक प्रकार का पॉलीमॉर्फिज़म है जो कॉम्पाइलर द्वारा ज्ञात होता है और कॉम्पाइल टाइम पर संघटित किया जाता है। यह शून्य या एक आदेशी संख्या के पैरामीटर्स द्वारा परिभाषित हो सकता है।

Example

public class Calculator {
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b)
{
return a + b;
}
public int add(int a, int b, int c)
{
return a + b + c;
}
public static void main(String[] args)
{
Calculator calculator = new Calculator();
int sum1 = calculator.add(5, 10);
double sum2 = calculator.add(4.5, 2.5);
int sum3 = calculator.add(2, 4, 6);
System.out.println("Sum 1: " + sum1);
// Output: Sum 1: 15 System.out.println("Sum 2: " + sum2);
// Output: Sum 2: 7.0 System.out.println("Sum 3: " + sum3);
// Output: Sum 3: 12 }
}
Output
Sum 1: 15
Sum 2: 7.0
Sum 3: 12

रन-टाइम बहुरूपता(Run-time Polymorphism)

रनटाइम पॉलीमॉर्फिज़म एक और प्रकार का पॉलीमॉर्फिज़म है जो रनटाइम में ज्ञात होता है और उपकरण के वारिसी क्लास के मैथड को कॉल करता है। इसमें उपकरण के पैरामीट्रिक विशेषताएं और उपकरण के व्यवहार का उपयोग होता है।

Example

class Shape {
public void draw() {
System.out.println(“Drawing a shape”);
}
}
class Circle extends Shape {
@Override
public void draw() {
System.out.println(“Drawing a circle”);
}
}
class Rectangle extends Shape {
@Override
public void draw() {
System.out.println(“Drawing a rectangle”);
}
}
public class Main {
public static void main(String[] args) {
Shape shape1 = new Circle();
Shape shape2 = new Rectangle();
shape1.draw(); // Output: Drawing a circle shape2.draw(); // Output: Drawing a rectangle }
}
Output
Drawing a circle
Drawing a rectangle

“Polymorphism in java in hindi”

वंशानुक्रम में बहुरूपता(Polymorphism in Inheritance)

आधारभूतता में पॉलीमॉर्फिज़म को आसानी से देखा जा सकता है। जब हम एक वारिसी क्लास को एक बेस कक्षा के द्वारा उत्पन्न करते हैं, तो हम वारिसी क्लास के ऑब्जेक्ट को उसे बेस कक्षा के रूप में उपयोग कर सकते हैं। इससे हमें विभिन्न वारिसी क्लासेज़ के ऑब्जेक्ट्स का उपयोग करके एक ही नाम के संगठन को इस्तेमाल करने की सुविधा मिलती है।

पॉलिमॉर्फिज़म और इनहेरिटेंस के साथ मिलकर जावा में बहुत महत्वपूर्ण है। इनहेरिटेंस एक प्रोग्रामिंग कॉनसेप्ट है जिसके माध्यम से एक क्लास दूसरी क्लास के संबंधित और साझा गुणधर्मों को वारिसानी कर सकती है। जब एक क्लास एक दूसरी क्लास की सबक्लास होती है, तो उसकी ऑब्जेक्ट्स को उसकी सुपरक्लास या इंटरफेस के रूप में उपयोग किया जा सकता है। जब ऐसा होता है, तो वे विभिन्न तरीकों से व्यवहार कर सकते हैं, जो कि पॉलिमॉर्फिक विषयता का उदाहरण है।

Join WhatsApp Group free Click Here
Join Telegram Group Free Click Here

Example

class Animal {
public void makeSound() {
System.out.println(“The animal makes a sound”);
}
}
class Dog extends Animal {
@Override
public void makeSound() {
System.out.println(“The dog barks”);
}
}
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println(“The cat meows”);
}
}
public class Main {
public static void main(String[] args) {
Animal animal1 = new Animal();
Animal animal2 = new Dog();
Animal animal3 = new Cat();
animal1.makeSound(); // Output: The animal makes a sound animal2.makeSound(); // Output: The dog barks animal3.makeSound(); // Output: The cat meows }
}
Output
The animal makes a sound
The dog barks
The cat meows

इंटरफेस में बहुरूपता(Polymorphism in Interfaces)

पॉलीमॉर्फिज़म (Polymorphism in java in hindi) इंटरफेस में भी उपयोग किया जा सकता है। जब हम एक इंटरफेस को एक वारिसी क्लास द्वारा इंप्लीमेंट करते हैं, तो हम उस इंटरफेस के ऑब्जेक्ट को इस्तेमाल करके इंटरफेस के रूप में उपयोग कर सकते हैं। यह हमें विभिन्न वारिसी क्लासेज़ के ऑब्जेक्ट्स को एक ही तरीके से इस्तेमाल करने की अनुमति देता है।

Example

interface Animal {
void makeSound();
}
class Dog implements Animal {
@Override
public void makeSound() {
System.out.println(“The dog barks”);
}
}
class Cat implements Animal {
@Override
public void makeSound() {
System.out.println(“The cat meows”);
}
}
public class Main {
public static void main(String[] args) {
Animal animal1 = new Dog();
Animal animal2 = new Cat();
animal1.makeSound(); // Output: The dog barks animal2.makeSound(); // Output: The cat meows }
}
Output
The dog barks
The cat meows

“Polymorphism in java in hindi”

विधि पैरामीटर्स में बहुरूपता(Polymorphism in Method Parameters)

“Polymorphism in java in hindi”पॉलीमॉर्फिज़म का उपयोग मैथड पैरामीटर्स में भी किया जा सकता है। जब हम एक मैथड को घोषित करते हैं और उसके पैरामीटर्स को एक सुपर क्लास के रूप में घोषित करते हैं, तो हम उस मैथड को उसके वारिसी क्लास के ऑब्जेक्ट्स के साथ इस्तेमाल कर सकते हैं। इससे हमें विभिन्न वारिसी क्लासेज़ के ऑब्जेक्ट्स को एक ही मैथड के माध्यम से व्यवस्थित करने की सुविधा मिलती है।

जावा में पॉलिमॉर्फिज़म (Polymorphism in java in hindi) इंटरफेस के साथ भी संभव है। इंटरफेस एक प्रोग्रामिंग कॉनसेप्ट है जो कि एक क्लास को एक या अधिक अनुबंधों का आदान-प्रदान करने की अनुमति देता है। एक क्लास एक या अधिक इंटरफेस को अनुबंधित कर सकती है और उनके मेथड्स को अपनी विषयता के अनुसार परिभाषित कर सकती है। जब आप इंटरफेस का उपयोग करते हैं, तो आप एक संदर्भ के रूप में इंटरफेस का उपयोग कर सकते हैं और उसकी विषयता के अनुसार इंपलीमेंटेशन कर सकते हैं। इससे विभिन्न क्लासेस के ऑब्जेक्ट्स को एक ही तरीके से कॉल किया जा सकता है, जो कि पॉलिमॉर्फिक विषयता का उदाहरण है।

Example

class Animal {
public void makeSound() {
System.out.println(“The animal makes a sound”);
}
}
class Dog extends Animal {
@Override
public void makeSound() {
System.out.println(“The dog barks”);
}
}
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println(“The cat meows”);
}
}
public class Main {
public static void performSound(Animal animal) {
animal.makeSound();
}
public static void main(String[] args) { Animal animal1 = new Animal(); Animal animal2 = new Dog(); Animal animal3 = new Cat(); performSound(animal1); // Output: The animal makes a sound performSound(animal2); // Output: The dog barks performSound(animal3); // Output: The cat meows }
}
Output
The animal makes a sound
The dog barks
The cat meows

बहुरूपता के लाभ – Benefits of Polymorphism

“Polymorphism in java in hindi” पॉलीमॉर्फिज़म का उपयोग करने के कई लाभ हैं।

  1. फ्लेक्सिबिलिटी: पॉलीमॉर्फिज़म के द्वारा हम एक ही नाम के ऑब्जेक्ट्स को विभिन्न तरीकों से उपयोग कर सकते हैं, जिससे हमारे पास अधिकतम विकल्प होते हैं और उपयोगकर्ताओं को अधिकतम सुविधा मिलती है।
  2. बेहतरीन संरचना: पॉलीमॉर्फिज़म एक मजबूत संरचना प्रदान करता है जो संगठन को सुगठित और साफ़ रखती है। एक ही नाम के ऑब्जेक्ट्स को एक ही तरीके से इस्तेमाल करके, आपको भविष्य में विकसित करने में आसानी होती है और संगठन को मेंटेनेंस करने में मदद मिलती है।
  3. कोड की पुनर्योजन: पॉलीमॉर्फिज़म के द्वारा हमें कोड की पुनर्योजन करने की आवश्यकता नहीं होती है। जब हमें नए फ़ीचर्स या वैश्विक परिवर्तनों को लागू करने की ज़रूरत होती है, हम सिर्फ़ वारिसी क्लासेज़ को अपडेट कर सकते हैं और बेस कक्षा को स्पष्ट रख सकते हैं। इससे कोड के साथ प्रभावी रूप से काम करना सुनिश्चित होता है।
  4. कोड की पुनर्योजन: पॉलीमॉर्फिज़म के द्वारा हमें कोड की पुनर्योजन करने की आवश्यकता नहीं होती है। जब हमें नए फ़ीचर्स या वैश्विक परिवर्तनों को लागू करने की ज़रूरत होती है, हम सिर्फ़ वारिसी क्लासेज़ को अपडेट कर सकते हैं और बेस कक्षा को स्पष्ट रख सकते हैं। इससे कोड के साथ प्रभावी रूप से काम करना सुनिश्चित होता है।

बहुरूपता के नुकसानDisadvantage of polymorphism

“Polymorphism in java in hindi” मे polymorphism के कुछ नुकसान होते हैं जिन्हें हम यहां विस्तार से देखेंगे:

1. Loss of compile-time errors polymorphism का उपयोग करते समय कंपाइल-समय त्रुटियों का हानि हो सकता है। कंपाइलर संकलन समय परिवर्तन के कारण त्रुटियां नहीं दिखा सकता हैं, जो प्रोग्राम को प्रभावित कर सकता है और बग्स का कारण बन सकता है।

2. Performance overhead polymorphism के उपयोग से प्रदर्शन में ओवरहेड हो सकता है। polymorphism के लिए वीरचुअल फ़ंक्शन का उपयोग करने पर फ़ंक्शन को खोजने और कॉल करने के लिए अतिरिक्त समय लगता है। यह उपयोगकर्ता अनुभव प्रदर्शन में कमी का कारण बन सकता है।

3. Increase of complexity polymorphism से प्रोग्राम की जटिलता बढ़ सकती है। जब polymorphism के साथ बड़ी और मांगी जाती है तो कोड की संख्या और विकास समय में वृद्धि होती है। यह भी समझने और प्रबंधित करने के लिए मुश्किल बना सकता है।

4. Based on request polymorphism अधीन आधारिता तक निर्भर कर सकती है, जिसके कारण प्रोग्राम में ज्यादा संपर्क दिखता है। एक बदलते परिवर्तन या नई आवश्यकताओं के आने पर, कोड में ज्यादा परिवर्तन करना पड़ सकता है और इससे प्रोग्राम को ब्रेक करने का खतरा हो सकता है।

5. Hard to debug polymorphism वाले प्रोग्राम को डिबग करना कठिन हो सकता है। कोड के विभिन्न हिस्सों में एक ही नाम के फ़ंक्शन और क्लासेस का उपयोग करने के कारण, विशेष फ़ंक्शन की खोज और दुरुपयोग करने की संभावना होती है। यह डिबगिंग प्रक्रिया को अधिक समय और मेहनत की आवश्यकता पड़ा सकता है।

You might also like this topics :-  Operator in java, जावा मे operators क्या है ? Operators कितने प्रकार के होते है ?

Conclusion

Polymorphism in java in hindi आर्टिकल मे हम पॉलीमॉर्फिज़म जावा में एक महत्वपूर्ण और उपयोगी कांड है जो बेहतरीन संरचना, फ्लेक्सिबिलिटी और कोड की पुनर्योजन प्रदान करता है। यह जावा प्रोग्रामिंग में अधिकतम उपयोगकर्ता सुविधा और उत्पादकता को बढ़ाता है। पॉलीमॉर्फिज़म के माध्यम से हम विभिन्न तरीकों से ऑब्जेक्ट्स को इस्तेमाल कर सकते हैं और संगठन को सुगठित और मेंटेनेंस करने में मदद मिलती है।

आज के इस आर्टिकल मे हमने “Polymorphism in java in hindi ” जावा में पॉलीमॉर्फिज़म की परिभाषा और उदाहरण के बारे मे विस्तार  से जाना  आशा  है की यह ARTICAL आप के लिए HELPFUL रहा होगा | अगर यह ARTICAL आप को पसंद आया हो तो इसे अपने दोस्तों  के साथ SHARE जरूर करे | आप हमे COMMENT के माध्यम से सुझाव दे सकते है आप हमे Email-id studentinsidelibarary013@gmail.com पर अपने सुझाव दे सकते है |

Frequently Asked Questions

1. पॉलीमॉर्फिज़म (Polymorphism in java in hindi) क्या है? पॉलीमॉर्फिज़म एक जावा कांड है जो एक ही नाम के ऑब्जेक्ट्स को विभिन्न तरीकों से उपयोग करने की अनुमति देता है। इससे हमें फ्लेक्सिबिलिटी, संरचना, और कोड की पुनर्योजन की सुविधा मिलती है।

2. पॉलीमॉर्फिज़म (Polymorphism in java in hindi) का उपयोग कहाँ किया जाता है?

पॉलीमॉर्फिज़म का उपयोग जावा में वारिसी क्लासेज़, इंटरफेसेज़, और मैथड पैरामीटर्स में किया जा सकता है।

3. क्या हम एक इंटरफेस को पॉलीमॉर्फिक बना सकते हैं?

हाँ, हम एक इंटरफेस को पॉलीमॉर्फिक बना सकते हैं। इंटरफेस के ऑब्जेक्ट को उसे इंटरफेस के रूप में उपयोग किया जा सकता है और विभिन्न वारिसी क्लासेज़ के ऑब्जेक्ट्स को एक ही तरीके से इस्तेमाल करने की सुविधा देता है।

4. पॉलीमॉर्फिज़म (Polymorphism in java in hindi) का क्या उपयोग है?

पॉलीमॉर्फिज़म का उपयोग करके हम एक ही नाम के ऑब्जेक्ट्स को विभिन्न तरीकों से उपयोग कर सकते हैं, जिससे हमें फ्लेक्सिबिलिटी, संरचना, और कोड की पुनर्योजन की सुविधा मिलती है।

5. क्या पॉलीमॉर्फिज़म रनटाइम परियोजना है?

हाँ, पॉलीमॉर्फिज़म रनटाइम परियोजना है, यानी कि कोड का निर्माण और इसका परिणाम रनटाइम के दौरान होता है। रनटाइम पर जावा इंटरप्रीटर पॉलीमॉर्फिज़म को संभावित और संचालित करता है।

Leave a Comment