- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
El polimorfismo es otro de los pilares de la Programación Orientada a Objetos (POO) y se refiere a la capacidad de diferentes clases para ser tratadas como instancias de la misma clase a través de una interfaz común. Esto permite que se puedan usar métodos de diferentes maneras, adaptándose al objeto que los llama.
¿Qué significa polimorfismo?
La palabra "polimorfismo" proviene del griego y significa "muchas formas". En programación, esto se traduce en la capacidad de un mismo método para comportarse de diferentes maneras según el objeto que lo invoque.
Tipos de polimorfismo
- Polimorfismo de sobrecarga: Se refiere a la capacidad de crear múltiples métodos con el mismo nombre pero diferentes parámetros.
- Polimorfismo de inclusión: Ocurre cuando una clase derivada sobrescribe un método de la clase base, permitiendo que el mismo método tenga diferentes comportamientos según el objeto que lo invoque.
Estructura del polimorfismo de inclusión
La estructura general para el polimorfismo de inclusión se basa en las clases base y derivadas:
class ClaseBase
{
public virtual void Mostrar()
{
Debug.Log("Método de la clase base.");
}
}
class ClaseDerivada : ClaseBase
{
public override void Mostrar()
{
Debug.Log("Método de la clase derivada.");
}
}
Ejemplo práctico
En este ejemplo, crearemos una clase base llamada Animal y dos clases derivadas, Perro y Gato, que sobrescribirán el método Mostrar() de la clase base.
using UnityEngine;
public class Animal
{
public virtual void HacerSonido()
{
Debug.Log("El animal hace un sonido.");
}
}
public class Perro : Animal
{
public override void HacerSonido()
{
Debug.Log("El perro ladra.");
}
}
public class Gato : Animal
{
public override void HacerSonido()
{
Debug.Log("El gato maúlla.");
}
}
public class EjemploPolimorfismo : MonoBehaviour
{
void Start()
{
Animal miPerro = new Perro();
Animal miGato = new Gato();
miPerro.HacerSonido(); // Llamará al método HacerSonido() del Perro
miGato.HacerSonido(); // Llamará al método HacerSonido() del Gato
}
}
¡Código copiado al portapapeles!
Explicación del código
public virtual void HacerSonido(): Método en la clase base que se puede sobrescribir.public override void HacerSonido(): Sobrescribe el método en las clases derivadasPerroyGato.Animal miPerro = new Perro();: Crea una referencia de tipoAnimalpara un objeto de tipoPerro.miPerro.HacerSonido();: Llama al métodoHacerSonido()del objetoPerro.
Ventajas del polimorfismo
- Flexibilidad: Permite que el mismo código funcione con diferentes tipos de objetos.
- Reutilización: Facilita la reutilización de métodos sin necesidad de conocer la clase exacta del objeto.
- Mantenimiento: Simplifica el mantenimiento del código, ya que se pueden agregar nuevos comportamientos sin modificar el código existente.
Resumen
El polimorfismo es una característica esencial de la programación orientada a objetos que permite que los objetos de diferentes clases sean tratados como objetos de una clase base común. Esto promueve la flexibilidad, reutilización y mantenimiento en el desarrollo de software. Al sobrescribir métodos, podemos definir comportamientos específicos para cada clase derivada, haciendo que nuestro código sea más dinámico y eficiente.
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones


Comentarios
Publicar un comentario