On 22 jan, 12:06, "Etienne Vallette d'Osia" <doh...@gmail.com> wrote:
> Je ne vois dans le duck typing qu'une manière de présenter le typage
> dynamique... Je me trompe peut-être, mais alors j'aimerais bien
> connaître la différence.
Sans etre specialiste, je pensais que le typage dynamique était lié à
la
virtualité, pour lequel le type précis (mais limité à une classe
fille)
est défini à l'exécution (e.g. une liste le "formes" auquelles on veut
envoyer
un message "surface".
Si le typage est statique (e.g c++ pour une méthode non virtuelle)
alors
ce serait la methode de la classe forme (probablement inexistante)
qui
serait appelé.
C'est pas ça ?
Ensuite le typage canard ne nécessite même pas qu'un objet est une
rriere grand-mere qui sache faire coin-coin (i.e calculer une
surface) :
il suffit qu'il sache le faire *au moment* de l'appel !?
Je ne sais pas ci ça revient vraiment au meme !
Meme sujet :
On 22 jan, 12:45, Bruno Desthuilliers <bruno.
42.desthuilli...@wtf.websiteburo.oops.com> wrote:
> > ...sur la page "http://fr.wikipedia.org/wiki/Programmation_orientée_objet"
> > Et concernant le typage ils distinguent :
> >> On distingue dans les langages objets trois mécanismes du typage :
> >> - le typage dynamique : ... (Smalltalk, CLOS, Piquet, PHP...),
> >> - le typage statique : ... (C++, Java, C#, Pascal...),
> >> - le typage par inférence : ...(C#, OCaml).
>
> > Sans mention de Ruby nul part ni du typage canard.
>
> "typage canard" est un alias pour typage dynamique.
>
> Accessoirement, les deux items suivants devraient être:
> - le typage statique déclaratif
> - le typage statique par inférence
Ah,
Et donc le typages canard ne pourrait-il pas etre une variante du
typage
dynamique ? ou bien c'est rigoureusement la meme chose ?
-- Maurice Diamantini