[PIPython] polimorfismo in python

Francesco Benincasa - ciccio2000 francesco.benincasa
Ven 19 Nov 2004 15:16:45 CET


Ciao a tutti,
sto implementato in python (dopo averlo fatto in java) il pattern
"visitor" con tecnica "double-dispatch":
in soldoni la classe "Visitor" ha, in java, una serie di metodi
"visit(TipoEspressione espressione)", uno per ogni tipo di espressione,
in modo che, invocato dal metodo "accept" di una classe di espressioni qualunque,
viene eseguita la "visit" corrispondente.
Di fatto java vede quelle visit come metodi diversi, in base al tipo di
parametro in ingresso.
Essendo il python non staticamente tipato, non si specifica il tipo di
parametro in ingresso ad un metodo.

1.Come potrei ovviare?
Pensavo a qualcosa tipo degli if-elif-else utilizzando come condizioni
qualcosa tipo: if type(espressione) == Tipo1, elif == Tipo2 e così via,
ma non mi sembra molto elegante.

2.Se una cosa del genere con python non si può fare, in cosa consiste il
polimorfismo in python?

Grazie, ciao ciao.

-- 
| Francesco Benincasa - ciccio2000 - http://ciccio2000.altervista.org/
| powered by Debian GNU/Linux 3.1 "unstable"
****
Ho scoperto un modo infallibile per ingannare i diplomatici.  Dico loro la
verita' ed essi non mi credono.
		-- Camillo Di Cavour



More information about the Python mailing list