Está en la página 1de 4

Instituto Politécnico Nacional

Unidad Profesional Interdisciplinaria de


Ingeniería y Ciencias Sociales y
Administrativas

Unidad de aprendizaje:

PROGRAMACIÓN ORIENTADA A OBJETOS

Tema:

Polimorfismo

Alumno:

Caballero Bustos Yael

Secuencia:

3NM31

Profesores:

GONZÁLEZ JÍMENEZ MIGUEL ÁNGEL


El polimorfismo se refiere a la capacidad de objetos de diferentes clases de
responder a métodos con el mismo nombre de una manera específica para cada
clase. El polimorfismo se logra a través de la herencia y las interfaces.
Hay dos tipos de polimorfismo en Java:
1. Polimorfismo de tiempo de compilación:
• Conocido como sobrecarga de método.
• Ocurre cuando varias versiones de un método tienen el mismo nombre
en una clase, pero se diferencian en la cantidad o tipo de parámetros.
2. Polimorfismo de tiempo de ejecución:
• Conocido como la anulación de métodos
• Ocurre cuando una subclase proporciona una implementación
específica para un método que ya ha sido declarado en una
superclase.
• Permite tratar objetos de subclases como objetos de la superclase,
pero se ejecuta el código específico de la subclase.
• Requiere que el método en la subclase tenga el mismo nombre que el
método en la superclase.
Ejemplo:
class Animal {
public void hacerSonido() {
System.out.println("El animal hace un sonido");
}
}

class Perro extends Animal {


@Override
public void hacerSonido() {
System.out.println("El perro ladra");
}
}

class Gato extends Animal {


@Override
public void hacerSonido() {
System.out.println("El gato maúlla");
}
}

public class Main {


public static void main(String[] args) {
Animal miAnimal;

miAnimal = new Perro();


miAnimal.hacerSonido(); // Salida: El perro ladra

miAnimal = new Gato();


miAnimal.hacerSonido(); // Salida: El gato maúlla
}
}

Su relación con la herencia


El polimorfismo y la herencia están relacionados en la programación orientada a
objetos, especialmente en lenguajes como Java. La herencia es uno de los
mecanismos fundamentales para lograr el polimorfismo en Java.
Herencia: La herencia es un concepto que permite la creación de una nueva clase
(subclase o clase derivada) basada en una clase existente (superclase o clase
base). La subclase hereda atributos y métodos de la superclase. Estableciendo una
relación de "es un tipo de" entre las dos clases, donde la subclase es un tipo más
específico de la superclase.
Polimorfismo de tiempo de ejecución: El polimorfismo de tiempo de ejecución
permite que una subclase proporcione una implementación específica para un
método que ya ha sido declarado en la superclase. Cuando se llama a un método
en un objeto de la subclase, se ejecutará la implementación específica de la
subclase, en lugar de la implementación de la superclase. Esto se logra anulando
el método en la subclase con el mismo nombre que el método en la superclase.
La herencia es el mecanismo que permite que el polimorfismo de tiempo de
ejecución funcione. Cuando un objeto de la subclase se almacena en una referencia
de la superclase, se puede acceder a los métodos y atributos de la superclase, pero
cuando se invoca un método que ha sido anulado en la subclase, se ejecutará la
implementación de la subclase. Esto es fundamental para escribir código que sea
más flexible y extensible, ya que permite tratar diferentes tipos de objetos de manera
uniforme y adaptarse a sus diferencias a través del polimorfismo.

Caules, C. Á. (2023, 10 enero). Java polimorfismo, herencia y simplicidad. Arquitectura

Java. https://www.arquitecturajava.com/java-polimorfismo-herencia-y-simplicidad/

K3rnel. (2022, 21 julio). Herencia y polimorfismo en Java - Somos hackers de la

programación. Somos Hackers de la Programación.

https://somoshackersdelaprogramacion.es/herencia-y-polimorfismo-en-java

También podría gustarte