Java Polimorfisme
Java Polimorfisme
Polimorfisme beteken "baie vorme", en dit kom voor wanneer ons baie klasse het wat deur oorerwing aan mekaar verwant is.
Soos ons in die vorige hoofstuk gespesifiseer het; Oorerwing laat ons eienskappe en metodes van 'n ander klas erf. Polimorfisme gebruik daardie metodes om verskillende take uit te voer. Dit stel ons in staat om 'n enkele aksie op verskillende maniere uit te voer.
Dink byvoorbeeld aan 'n superklas genaamd Animal
wat 'n metode genaamd het animalSound()
. Subklasse van diere kan varke, katte, honde, voëls wees - en hulle het ook hul eie implementering van 'n diereklank (die vark-oinks, en die kat miaau, ens.):
Voorbeeld
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");
}
}
Onthou uit die Erfenis hoofstuk dat ons die extends
sleutelwoord gebruik om van 'n klas te erf.
Nou kan ons skep Pig
en
Dog
voorwerpe en die animalSound()
metode op albei van hulle noem:
Voorbeeld
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();
}
}
Waarom en wanneer om "oorerwing" en "polimorfisme" te gebruik?
- Dit is nuttig vir kode herbruikbaarheid: hergebruik eienskappe en metodes van 'n bestaande klas wanneer jy 'n nuwe klas skep.