Pouvez-vous expliquer le principe de typage unitaire (de canard) et comment il s'applique en programmation?
sobes.tech IA
Réponse de l'IA
La typage duck (duck typing) est un concept en programmation où le type d’un objet est déterminé non par sa classe ou héritage, mais par la présence de certaines méthodes et propriétés.
La phrase "Si quelque chose ressemble à un canard, nage comme un canard et quack comme un canard, alors c’est un canard" reflète l’essence : ce n’est pas le type de l’objet qui importe, mais son comportement.
En C#, ce n’est pas un mécanisme intégré comme dans les langages dynamiques, mais on peut l’imiter via des interfaces ou la typification dynamique (dynamic). Par exemple, si un objet implémente les méthodes nécessaires, il peut être utilisé sans vérification stricte du type.
Exemple avec dynamic:
void MakeItQuack(dynamic duck) {
duck.Quack();
}
class Duck {
public void Quack() {
Console.WriteLine("Coin coin!");
}
}
MakeItQuack(new Duck());
Ici, il est important que l’objet passé ait la méthode Quack, sinon une erreur se produira à l’exécution.