View Full Version : [Python] Ereditarietà e riconoscimento oggetti
Ciao a tutti,
è possibile in Python sapere se un dato oggetto estende una data classe?
Inoltre volendo assicurarmi che tutti le classi che estendono una data classe A implementino (overloading?) alcuni metodi della classe A, è corretto fare in modo che in A i metodi suddetti alzino un'eccezione specifica in mopdo che l'errore sia palese?
Grazie,
Xwang
cdimauro
08-07-2011, 07:41
Ciao a tutti,
è possibile in Python sapere se un dato oggetto estende una data classe?
Con isinstance(Oggetto, Classe) puoi controllare se Oggetto è l'istanza di Classe.
Inoltre volendo assicurarmi che tutti le classi che estendono una data classe A implementino (overloading?) alcuni metodi della classe A, è corretto fare in modo che in A i metodi suddetti alzino un'eccezione specifica in mopdo che l'errore sia palese?
Grazie,
Xwang
Sì, si fa così generalmente.
Con isinstance(Oggetto, Classe) puoi controllare se Oggetto è l'istanza di Classe.
Sì, si fa così generalmente.
Grazie,
Xwang
Inoltre volendo assicurarmi che tutti le classi che estendono una data classe A implementino (overloading?) alcuni metodi della classe A, è corretto fare in modo che in A i metodi suddetti alzino un'eccezione specifica in mopdo che l'errore sia palese?
Solo una pignoleria, mi sembra che si dica "overriding" in questo caso: "overloading" invece identifica il caso in cui più metodi abbiano la stessa signature a meno del tipo dei parametri. Per esempio:
print(char c);
print(int i);
...
cdimauro
10-07-2011, 09:12
Sì, esatto. Tra l'altro Python non supporta l'overloading (essendo dinamicamente tipato) e l'override è l'operazione di default (quando si definisce nuovamente il membro di una classe o anche di una singola istanza).
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.