Nell'informatica, il polimorfismo è una funzione del linguaggio di programmazione che consente di gestire valori di diversi tipi di dati utilizzando un'interfaccia uniforme.
Dall'anatra digitando su Wikipedia
Nella programmazione al computer con linguaggi di programmazione orientati agli oggetti, la tipizzazione duck è uno stile di tipizzazione dinamica in cui l'insieme attuale di metodi e proprietà di un oggetto determina la semantica valida, piuttosto che la sua eredità da una particolare classe o implementazione di una specifica interfaccia.
La mia interpretazione è che in base alla tipizzazione anatra, i metodi / proprietà degli oggetti determinano la semantica valida. Ciò significa che la forma corrente degli oggetti determina l'interfaccia che sostiene.
Dal polimorfismo si può dire che una funzione è polimorfica se accetta più tipi di dati diversi purché mantengano un'interfaccia.
Pertanto, se una funzione può evitare il tipo, può accettare più tipi di dati diversi e operare su di essi purché tali tipi di dati abbiano i metodi / proprietà corretti e quindi mantengano l'interfaccia.
(L'uso del termine interfaccia non è inteso come un costrutto di codice ma piuttosto come un costrutto descrittivo e documentativo)
- Qual è la relazione corretta tra ducktyping e polimorfismo?
- Se una lingua può evitare il tipo, significa che può fare il polimorfismo?
door.close()
etiger.close()