Clases no selladas
Nota:
Este contenido se ha copiado con permiso de Pearson Education, Inc. de Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2ª edición. Esa edición se publicó en 2008 y el libro se ha revisado completamente en la tercera edición. Parte de la información de esta página puede estar obsoleta.
No se puede heredar de clases e impiden la extensibilidad. Por el contrario, las clases de las que se puede heredar se denominan clases no selladas.
✔️ PLANTÉESE la posibilidad de usar clases no selladas sin miembros virtuales o protegidos agregados como una excelente manera de proporcionar extensibilidad económica pero mucho más apreciada a un marco.
A menudo, los desarrolladores quieren heredar de clases no selladas para agregar a miembros prácticos, como constructores personalizados, métodos nuevos o sobrecargas de métodos. Por ejemplo, System.Messaging.MessageQueue
no está sellado y, por lo tanto, permite a los usuarios crear colas personalizadas que tienen como valor predeterminado una ruta de acceso de cola determinada o agregar métodos personalizados que simplifican la API en escenarios específicos.
De forma predeterminada, las clases no están selladas en la mayoría de los lenguajes de programación y esta es también la situación predeterminada recomendada para la mayoría de las clases de los marcos. La extensibilidad que ofrecen los tipos no sellados es muy apreciada por los usuarios del marco y es bastante barata de proporcionar debido a costos de pruebas relativamente bajos asociados a tipos no sellados.
Portions © 2005, 2009 Microsoft Corporation. Todos los derechos reservados.
Material reimpreso con el consentimiento de Pearson Education, Inc. y extraído de Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition (Instrucciones de diseño de .NET Framework: convenciones, expresiones y patrones para bibliotecas .NET reutilizables, 2.ª edición), de Krzysztof Cwalina y Brad Abrams, publicado el 22 de octubre de 2008 por Addison-Wesley Professional como parte de la serie Microsoft Windows Development.