Polimorfismo di Giava
Polimorfismo di Giava
Polimorfismo significa "molte forme" e si verifica quando abbiamo molte classi che sono correlate tra loro per eredità.
Come abbiamo specificato nel capitolo precedente; L'ereditarietà ci consente di ereditare attributi e metodi da un'altra classe. Il polimorfismo utilizza questi metodi per eseguire compiti diversi. Questo ci consente di eseguire una singola azione in modi diversi.
Ad esempio, pensa a una superclasse chiamata Animal
che ha un metodo chiamato animalSound()
. Le sottoclassi di animali potrebbero essere maiali, gatti, cani, uccelli - e hanno anche la propria implementazione di un suono animale (il maiale oinks e il gatto miagola, ecc.):
Esempio
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");
}
}
Ricorda dal capitolo Ereditarietà che usiamo la extends
parola chiave per ereditare da una classe.
Ora possiamo creare Pig
e
Dog
oggetti e chiamare il animalSound()
metodo su entrambi:
Esempio
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();
}
}
Perché e quando usare "ereditarietà" e "polimorfismo"?
- È utile per il riutilizzo del codice: riutilizza attributi e metodi di una classe esistente quando crei una nuova classe.