Leggendo questo articolo (di Eric Lippert ), ha quattro argomenti sul motivo per cui dovresti usare sealed
, tuttavia, non capisco perché in realtà abbiamo bisogno di . Ragioni filosofiche / estetiche a parte, perché abbiamo bisogno di usare sigillato?
Riesco a vedere come cose come readonly
da C # o const
da C ++ possano effettivamente rilevare errori reali. C'è qualche tipo di errore che sealed
può intercettare?
Un motivo spesso citato per sigillare una classe è perché, non è stato progettato per essere esteso. Cosa significa? Perché è importante? Ci sono dei veri esempi di questo?
Il punto sulla compatibilità non è un motivo per cui abbiamo bisogno di sigillare le classi, ma perché dovrebbe essere l'impostazione predefinita.
Il punto finale è ancora strano, perché sigillare la tua classe non impedisce a qualcuno di fornire un'implementazione alternativa in un heirachy.
Modifica:
Se non ho messo abbastanza enfasi, su di esso sto già cercando dei motivi per cui abbiamo bisogno di esso. Non è il solito, "qualcun altro potrebbe scrivere codice cattivo". Comprendo che molte persone come utilizzano sealed
per l'intento progettuale, ma sto cercando uno scopo pratico oltre a quello.