[Python] diversi __init__ ??
Enrico Franchi
enrico.franchi a gmail.com
Mar 29 Gen 2008 21:15:15 CET
On Jan 29, 2008, at 8:12 PM, Alessandro Dentella wrote:
> Mi pare che sia normalissimo fare overloading come questo
>
> class A(object):
> def __init__(self):
> pass
>
> class B(A):
> def __init__(self):
> print 'OK'
>
> Stai dicendo che non è abitudine fare questo in python? Avrei parecchi
> controesempi...
Sto dicendo che quello *non* si chiama overloading. L'overloading è
interno alla stessa classe, l'overriding invece è relativo al
subclassamento. Sono concetti distinti. In C++ poi ci si diverte
moltissimo perchè si intrecciano in modo scarsamente ortogonale le
regole di risoluzione *e* i parametri di default. Per cui conviene
conoscere *molto* bene la semantica.
Fai comunque conto che l'inglese ti viene incontro; vai a vedere su un
dizionario e ti sarà chiaro come 'overload' non rende l'idea di quello
che fai (mentre override si).
> vorresti con questo dire che sia più elegante pensare *a priori* in
> quali
> modi la gente vorrà ereditare la nostra classe? (ed infilare 100
> parametri
> nella funzione).
Assolutamente *no*. Ma ribadisco, tu confondi overload con override.
More information about the Python
mailing list