Envoyé par
Zavonen
Une des lacunes majeures de la couche objet de python est l'absence de véritables constructeurs rendant impossible la promotion automatique de type, qui est à mon avis un mécanisme fondamental permettant l'identification. C'est par exemple ce principe qui nous permet d'assimiler les entiers à certains rationnels, les rationnels à certains réels, les réels à certains complexes, etc..
Parler de "lacune majeure" me semble un peu fort. Cela ne me semble pas central à la conception orientée objet. C'est sympathique à avoir, mais cela n'a de sens que dans un langage où le type des paramètres est déclaré.
En Python, la surcharge de méthodes n'existe pas non plus, ni sur les types des paramètres (forcément), ni sur leur nombre vu que Python privilégie un système avec nombre d'arguments variables. La promotion de type et la surcharge vont main dans la main (ils se complètent bien), mais à choisir, la surcharge me semble est un mécanisme plus fondamental que la promotion de types.
Truc T2 =2; // Cette syntaxe réalisant l'identification n'est pas admise en python
Ben forcément si on déclare pas les types. T2 = Truc(2) c'est pas fort différent à écrire, et c'est plutôt l'équivalent de Truc *T2 = new Truc(2); (en fait, ce serait encore plus proche en utilisant un "smart pointer") car en Python l'allocation sur la pile n'existe pas.
[EDIT:] Encore une fois, je n'avais pas remarqué qu'il y avait une seconde page. Ca commence à être une habitude Enfin bon, mon post a tout de même un sens.
Partager