Sobes.tech
Junior — Middle

¿Puede explicar el principio de tipificación unitaria (de pato) y cómo se aplica en la programación?

sobes.tech AI

Respuesta de la IA

La tipificación de pato (duck typing) es un concepto en programación en el que el tipo de un objeto se determina no por su clase o herencia, sino por la presencia de ciertos métodos y propiedades.

La frase "Si algo parece un pato, nada como un pato y grazna como un pato, entonces es un pato" refleja la esencia: lo importante no es el tipo del objeto, sino su comportamiento.

En C# no es un mecanismo incorporado como en los lenguajes dinámicos, pero se puede imitar mediante interfaces o tipificación dinámica (dynamic). Por ejemplo, si un objeto implementa los métodos necesarios, se puede usar sin una comprobación estricta del tipo.

Ejemplo con dynamic:

void MakeItQuack(dynamic duck) {
    duck.Quack();
}

class Duck {
    public void Quack() {
        Console.WriteLine("¡Graznido!");
    }
}

MakeItQuack(new Duck());

Aquí, es importante que el objeto pasado tenga el método Quack, de lo contrario, ocurrirá un error en tiempo de ejecución.