Convenzione per l'utilizzo di funzioni e membri di super classe

-1

Esiste una convenzione o un modo comune per utilizzare funzioni e membri di super classe?

Ad esempio, la super classe ha la funzione protected void Foo() e protected int myInt;

In sottoclasse vorrei fare riferimento a quelli semplicemente come Foo() e myInt o come super.foo() e super.myInt . O in qualche altro modo.

    
posta roverred 08.11.2013 - 10:09
fonte

1 risposta

1

L'unica differenza che posso pensare tra l'uso di Foo () o super.Foo () è ciò che accade se, in futuro, aggiungerai un metodo chiamato Foo () alla sottoclasse per qualche motivo, ignorando quello nella superclasse.

Se è probabile che la chiamata inizi a utilizzare l'implementazione sovrascritta più specifica, che è l'opzione più probabile, probabilmente vorrai usare solo Foo (). Se, per qualche motivo, vuoi rendere esplicito che la chiamata sempre chiama la funzione superclasse, anche se viene sovrascritta nella sottoclasse in futuro, puoi usare super.Foo () per fare questo esplicito.

Oltre a questo, non penso che ci sia davvero alcuna differenza nel modo in cui la chiami, a parte problemi di leggibilità, ecc.

    
risposta data 08.11.2013 - 18:11
fonte

Leggi altre domande sui tag