जावा बहुरूपता
जावा बहुरूपता
बहुरूपता का अर्थ है "कई रूप", और यह तब होता है जब हमारे पास कई वर्ग होते हैं जो विरासत से एक दूसरे से संबंधित होते हैं।
जैसा कि हमने पिछले अध्याय में निर्दिष्ट किया था; वंशानुक्रम हमें किसी अन्य वर्ग से विशेषताओं और विधियों को प्राप्त करने देता है। बहुरूपता विभिन्न कार्यों को करने के लिए उन विधियों का उपयोग करता है। यह हमें एक ही क्रिया को विभिन्न तरीकों से करने की अनुमति देता है।
उदाहरण के लिए, एक सुपरक्लास के बारे में सोचें Animal
जिसे animalSound()
. जानवरों के उपवर्ग सूअर, बिल्ली, कुत्ते, पक्षी हो सकते हैं - और उनके पास एक पशु ध्वनि का अपना कार्यान्वयन भी है (सुअर ओंक, और बिल्ली म्याऊ, आदि):
उदाहरण
class Animal {
public void animalSound() {
System.out.println("The animal makes a sound");
}
}
class Pig extends Animal {
public void animalSound() {
System.out.println("The pig says: wee wee");
}
}
class Dog extends Animal {
public void animalSound() {
System.out.println("The dog says: bow wow");
}
}
इनहेरिटेंस चैप्टर से याद रखें कि हम extends
क्लास से इनहेरिट करने के लिए कीवर्ड का इस्तेमाल करते हैं।
अब हम बना सकते हैं Pig
और
Dog
ऑब्जेक्ट कर सकते हैं और animalSound()
उन दोनों पर विधि को कॉल कर सकते हैं:
उदाहरण
class Animal {
public void animalSound() {
System.out.println("The animal makes a sound");
}
}
class Pig extends Animal {
public void animalSound() {
System.out.println("The pig says: wee wee");
}
}
class Dog extends Animal {
public void animalSound() {
System.out.println("The dog says: bow wow");
}
}
class Main {
public static void main(String[] args) {
Animal myAnimal = new Animal(); // Create a Animal object
Animal myPig = new Pig(); // Create a Pig object
Animal myDog = new Dog(); // Create a Dog object
myAnimal.animalSound();
myPig.animalSound();
myDog.animalSound();
}
}
"विरासत" और "बहुरूपता" का उपयोग क्यों और कब करें?
- यह कोड पुन: प्रयोज्य के लिए उपयोगी है: जब आप एक नया वर्ग बनाते हैं तो मौजूदा वर्ग की विशेषताओं और विधियों का पुन: उपयोग करें।