Condividi tramite


Progettazione di classi astratte

Annotazioni

Questo contenuto viene ristampato con il permesso di Pearson Education, Inc. da Framework Design Guidelines: Conventions, Idioms e Pattern per Librerie .NET Riutilizzabili, 2a Edizione. Tale edizione è stata pubblicata nel 2008 e il libro è stato completamente rivisto nella terza edizione. Alcune informazioni in questa pagina potrebbero non essere aggiornate.

❌ NON definire costruttori interni pubblici o protetti in tipi astratti.

I costruttori dovrebbero essere pubblici solo se gli utenti hanno bisogno di creare istanze del tipo. Poiché non è possibile creare istanze di un tipo astratto, un tipo astratto con un costruttore pubblico è progettato in modo errato e può risultare fuorviante per gli utenti.

✔️ DO definisce 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 System.IO.Stream classe astratta.

© Porzioni 2005, 2009 Microsoft Corporation. Tutti i diritti riservati.

Ristampato dall'autorizzazione di Pearson Education, Inc. da Framework Design Guidelines: Conventions, Idioms e Patterns for Reusable .NET Libraries, 2nd Edition di Krzysztof Cwalina e Brad Abrams, pubblicato il 22 ottobre 2008 da Addison-Wesley Professional come parte della Serie di sviluppo di Microsoft Windows.

Vedere anche