¿Qué es el polimorfismo en programación?
sobes.tech AI
Respuesta de la IA
El polimorfismo es la capacidad de objetos de diferentes clases para responder de manera diferente a la misma llamada de método. Se logra mediante el uso de herencia, clases abstractas e interfaces. En C#, el polimorfismo se manifiesta a través de la sobrescritura (overriding) de métodos de la clase base en las clases derivadas y la sobrecarga (overloading) de métodos.
Ejemplos de polimorfismo:
-
Sobrescritura de métodos (Polimorfismo en tiempo de ejecución): La clase derivada proporciona su propia implementación de un método declarado en la clase base. Para ello, en la clase base se usa la palabra clave
virtual, y en la derivada,override.// Clase base class Shape { // Método virtual que puede ser sobrescrito public virtual void Draw() { // Implementación por defecto } } // Clase derivada 1 class Circle : Shape { // Sobrescritura del método Draw public override void Draw() { // Implementación para un círculo } } // Clase derivada 2 class Square : Shape { // Sobrescritura del método Draw public override void Draw() { // Implementación para un cuadrado } }En este caso, se puede crear una lista de objetos
Shapey llamar al métodoDrawpara cada uno, y se ejecutará la implementación específica para cada tipo de figura. -
Sobrecarga de métodos (Polimorfismo en tiempo de compilación): Varios métodos con el mismo nombre pero con diferentes firmas (cantidad o tipos de parámetros) en una misma clase.
class Calculator { // Método sobrecargado Add (para int) public int Add(int x, int y) { return x + y; } // Método sobrecargado Add (para double) public double Add(double x, double y) { return x + y; } }
El polimorfismo favorece la creación de código más flexible, extensible y fácil de mantener. Permite escribir código genérico que puede trabajar con objetos de diferentes tipos.