Partager via


Classes unsealed

Remarque

Ce contenu est réimprimé avec l’autorisation de Pearson Education, Inc. à partir des Instructions de conception d’une infrastructure : conventions, idiomes et modèles des bibliothèques réutilisables .NET, 2ème édition. Cette édition a été publiée en 2008, et le livre a été entièrement révisé dans la troisième édition. Certaines informations de cette page peuvent être obsolètes.

Les classes scellées ne peuvent pas être héritées et empêchent l’extensibilité. En revanche, les classes qui peuvent être héritées sont appelées classes non scellées.

✔️ ENVISAGEZ d’utiliser des classes non scellées sans membres virtuels ou protégés ajoutés comme un excellent moyen de fournir une extensibilité peu coûteuse mais très appréciée à un framework.

Les développeurs souhaitent souvent hériter de classes non scellées afin d’ajouter des membres pratiques tels que des constructeurs personnalisés, de nouvelles méthodes ou des surcharges de méthode. Par exemple, System.Messaging.MessageQueue n’est pas scellée et permet ainsi aux utilisateurs de créer des files d’attente personnalisées par défaut à un chemin d’accès de file d’attente particulier ou d’ajouter des méthodes personnalisées qui simplifient l’API pour des scénarios spécifiques.

Les classes sont non scellées par défaut dans la plupart des langages de programmation, et il s’agit également de la valeur par défaut recommandée pour la plupart des classes dans les frameworks. L’extensibilité offerte par les types non scellés est très appréciée par les utilisateurs du framework et assez peu coûteuse à fournir en raison de coûts de test relativement faibles associés aux types non scellés.

Portions © 2005, 2009 Microsoft Corporation. Tous droits réservés.

Réimprimé avec l’autorisation de Pearson Education, Inc. et extrait de Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition par Krzysztof Cwalina et Brad Abrams, publié le 22 octobre 2008 par Addison-Wesley Professional dans le cadre de la série sur le développement Microsoft Windows.

Voir aussi