[PIPython] Mancanza overloading :-(
Luca Marrocco
buildup
Ven 19 Nov 2004 15:16:51 CET
On Thu, 16 Sep 2004 10:39:12 +0200
Gianmario Salvetti <salvetti.gianmario a tiscali.it> wrote:
> Salve a tutti. Sono nuovo nella mailing list, ma e' da un po' che
> utilizzo python. Piu' che un consiglio mi serve una motivazione. Non
> riesco a farmi una ragione dell'assenza dell'overloading dei metodi. So
> che esistono motivi tecnici, ma quando mi trovo a dover scrivere
> qualcosa del tipo
>
> if classe_oggetto1 = classe1 and classe_oggetto2 = classe1:
> funzione1(oggetto1, oggetto2)
> elif classe_oggetto2 = classe1 and classe_oggetto2 = classe2:
> funzione2(oggetto1, oggetto2)
> elif classe_oggetto1 = classe2 and classe_oggetto2 = classe2:
> funzione3(oggetto1, oggetto2)
> ....
>
> provo veramente un senso di fastidio. Nel C, potevo accettarlo, ma fare
> una cosa del genere con un linguaggio di alto livello come il python
> ....davvero non lo sopporto. Per favore ditemi qualcosa che mi aiuti ad
> accettare questa cosa (insulti esclusi) ve ne sarei grato.
>
> p.s.
> per cortesia non chiamate la Neuro.
prova ad usare l'ereditarieta e la programmazione ad oggetti
class Base:
def funzione(self):
pass
class DerA(Base):
def funzione(self):
print "DerA::funzione"
class DerB(Base):
def funzione(self):
print "DerB::funzione"
def funz(objBase1, objBase2):
objBase1.funzione()
objBase2.funzione()
a = DerA()
b = DerB()
funz(a, b)
funz(a, a)
funz(b, b)
con un output simile a:
DerA::funzione
DerB::funzione
DerA::funzione
DerA::funzione
DerB::funzione
DerB::funzione
>
> Gianmario.
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.zope.it/cgi-bin/mailman/listinfo/python
More information about the Python
mailing list