Re: [Roma.pm] l'ereditarietà diseredata
Mattia Barbon
mattia.barbon at libero.it
Mon Mar 1 15:44:00 CST 2004
Il Mon, 01 Mar 2004 14:14:41 +0100 Aldo Calpini <dada at perl.it> ha scritto:
Ciao,
> riuscite a dirmi, guardando il seguente codice:
premetto che ti ho preso in parola, per cui non ho eseguito
il codice per vedere cosa non andava, l'ho solo _guardato_, per cui
quanto segue potrebbero essere stupidaggini...
> a. cosa c'è di sbagliato
Nella sottoclasse MyNumber, sovrascrivi (override, per capirci...)
il metodo 'add' con un altro metodo con una firma differente.
In sostanza stai creando una sottoclasse che pero` non e` un sottotipo,
nel senso che non e` sostituibile.
> b. qual'è il modo più elegante per correggerlo
Non saprei, dato che si tratta di un esempio <traduzioni di "contrived">.
Io direi di cambiare la firma di 'add' in MyNumber facendola diventare uguale
a quella della superclasse.
> c. cosa si può fare per evitare simili errori
Usare un linguaggio con un type system statico? SCNR...
> http://www.perl.it/blog/archives/000032.html
>
> (cfr. anche http://www.perlmonks.org/index.pl?node_id=332883)
Ciao
Mattia
More information about the Roma
mailing list