Saltar al contenido

Polimorfismo de Java

septiembre 23, 2021

Polimorfismo de Java

Polimorfismo significa «muchas formas» y ocurre cuando tenemos muchas clases que están relacionadas entre sí por herencia.

Como especificamos en el capítulo anterior;
Herencia nos permite heredar atributos y métodos de otra clase. Polimorfismo
utiliza esos métodos para realizar diferentes tareas. Esto nos permite realizar una sola acción de diferentes formas.

Por ejemplo, piense en una superclase llamada Animal que tiene un método llamado animalSound(). Las subclases de animales pueden ser cerdos, gatos, perros, pájaros, y también tienen su propia implementación de un sonido animal (el cerdo gruñe, el gato maúlla, etc.):

-->

Ejemplo

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");
  }
}

Ahora podemos crear Pig y
Dog
objetos y llamar al animalSound() método en ambos:

Ejemplo

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();
  }
}

Inténtalo tú mismo »

¿Por qué y cuándo utilizar «herencia» y «polimorfismo»?

– Es útil para la reutilización del código: reutiliza atributos y métodos de una clase existente cuando creas una nueva clase.

close