Comparteix via


Diseño de clases abstractas

Nota:

Este contenido se reimprime con permiso de Pearson Education, Inc. de Directrices de diseño de frameworks: Convenciones, expresiones y patrones para bibliotecas reutilizables de .NET, 2ª edición. Esa edición fue publicada en 2008, y el libro ha sido totalmente revisado en la tercera edición. Parte de la información de esta página puede estar obsoleta.

❌ NO defina constructores internos públicos o protegidos en tipos abstractos.

Los constructores solo deben ser públicos si los usuarios tendrán que crear instancias del tipo. Dado que no se pueden crear instancias de un tipo abstracto, un tipo abstracto con un constructor público está diseñado incorrectamente y engañoso para los usuarios.

✔️ DEfina un constructor protegido o interno en clases abstractas.

Un constructor protegido es más común y simplemente permite que la clase base realice su propia inicialización cuando se creen subtipos.

Un constructor interno se puede usar para limitar las implementaciones concretas de la clase abstracta al ensamblado que define la clase.

✔️ Proporcione al menos un tipo concreto que hereda de cada clase abstracta que se envíe.

Esto ayuda a validar el diseño de la clase abstracta. Por ejemplo, System.IO.FileStream es una implementación de la System.IO.Stream clase abstracta.

© Partes 2005, 2009 de Microsoft Corporation. Todos los derechos reservados.

Reimpreso con permiso de Pearson Education, Inc. de Framework Design Guidelines: Convenciones, Idiomas y Patrones para Bibliotecas .NET Reusables, 2ª Edición por Krzysztof Cwalina y Brad Abrams, publicado el 22 de octubre de 2008 por Addison-Wesley Professional como parte de la Serie Desarrollo de Microsoft Windows.

Consulte también