Condividi tramite


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.

Vedi anche