Pode explicar o princípio da tipagem unitar (de pato) e como ele é aplicado na programação?
sobes.tech IA
Resposta da IA
A tipificação de pato (duck typing) é um conceito na programação em que o tipo de um objeto é determinado não pela sua classe ou herança, mas pela presença de certos métodos e propriedades.
A frase "Se algo parece um pato, nada como um pato e grasna como um pato, então é um pato" reflete a essência: o que importa não é o tipo do objeto, mas seu comportamento.
Em C# não é um mecanismo embutido como em linguagens dinâmicas, mas pode ser imitado através de interfaces ou tipificação dinâmica (dynamic). Por exemplo, se um objeto implementa os métodos necessários, pode ser usado sem uma verificação estrita do tipo.
Exemplo com dynamic:
void MakeItQuack(dynamic duck) {
duck.Quack();
}
class Duck {
public void Quack() {
Console.WriteLine("Quack!");
}
}
MakeItQuack(new Duck());
Aqui, é importante que o objeto passado tenha o método Quack, caso contrário, ocorrerá um erro em tempo de execução.