Progettazione di classi astratte
Nota
Questo contenuto è ristampato con l'autorizzazione di Pearson Education, Inc. da Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition. Tale edizione è stata pubblicata nel 2008 e il libro è stato interamente revisionato nella terza edizione. Alcune delle informazioni contenute in questa pagina potrebbero non essere aggiornate.
❌ NON definire costruttori interni pubblici o protetti in tipi astratti.
I costruttori devono essere pubblici solo se gli utenti dovranno creare istanze del tipo. Poiché non è possibile creare istanze di un tipo astratto, un tipo astratto con un costruttore pubblico non è progettato e fuorviante per gli utenti.
✔️ DEFINIRE un costruttore protetto o interno nelle classi astratte.
Un costruttore protetto è più comune e consente semplicemente alla classe base di eseguire la propria inizializzazione quando vengono creati sottotipi.
È possibile usare un costruttore interno per limitare le implementazioni concrete della classe astratta all'assembly che definisce la classe.
✔️ SPECIFICARE almeno un tipo concreto che eredita da ogni classe astratta fornita.
In questo modo è possibile convalidare la progettazione della classe astratta. Ad esempio, System.IO.FileStream è un'implementazione della classe astratta System.IO.Stream.
Parti protette da copyright © 2005, 2009 Microsoft Corporation. Tutti i diritti sono riservati.
Ristampato con l'autorizzazione di Pearson Education, Inc. da Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2a edizione di Krzysztof Cwalina and Brad Abrams, pubblicato il 22 ottobre 2008 da Addison-Wesley Professional nella collana Microsoft Windows Development Series.