Polymorfismus Java
Polymorfismus Java
Polymorfismus znamená „mnoho forem“ a vyskytuje se, když máme mnoho tříd, které spolu souvisí dědičností.
Jak jsme upřesnili v předchozí kapitole; Dědičnost nám umožňuje dědit atributy a metody z jiné třídy. Polymorfismus používá tyto metody k provádění různých úkolů. To nám umožňuje provádět jednu akci různými způsoby.
Představte si například nazvanou nadtřídu Animal
, která má metodu nazvanou animalSound()
. Podtřídy zvířat mohou být prasata, kočky, psi, ptáci - A také mají vlastní implementaci zvířecího zvuku (prase ječí a kočka mňouká atd.):
Příklad
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");
}
}
Pamatujte si z kapitoly Dědičnost , že klíčové slovo používáme extends
k dědění od třídy.
Nyní můžeme vytvářet Pig
a
Dog
objekty a volat animalSound()
metodu na obou z nich:
Příklad
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();
}
}
Proč a kdy používat „dědičnost“ a „polymorfismus“?
- Je to užitečné pro znovupoužitelnost kódu: při vytváření nové třídy znovu použijte atributy a metody existující třídy.