Delen via


Abstract Class Design

Notitie

Deze inhoud wordt opnieuw afgedrukt door toestemming van Pearson Education, Inc. van Framework Design Guidelines: Conventions, Idioms en Patterns for Reusable .NET Libraries, 2nd Edition. Die editie werd in 2008 gepubliceerd en het boek is sindsdien volledig herzien in de derde editie. Sommige informatie op deze pagina is mogelijk verouderd.

❌ DEFINIEER GEEN openbare of beveiligde interne constructors in abstracte typen.

Constructors mogen alleen openbaar zijn als gebruikers exemplaren van het type moeten maken. Omdat u geen exemplaren van een abstract type kunt maken, is een abstract type met een openbare constructor onjuist ontworpen en misleidend voor de gebruikers.

✔️ DO definieert een beveiligde of interne constructor in abstracte klassen.

Een beveiligde constructor is gebruikelijker en stelt de basisklasse in staat om een eigen initialisatie uit te voeren wanneer subtypen worden gemaakt.

Een interne constructor kan worden gebruikt om concrete implementaties van de abstracte klasse te beperken tot de assembly die de klasse definieert.

✔️ DO biedt ten minste één concreet type dat overkomt van elke abstracte klasse die u verzendt.

Dit helpt bij het valideren van het ontwerp van de abstracte klasse. Is bijvoorbeeld System.IO.FileStream een implementatie van de System.IO.Stream abstracte klasse.

© Delen 2005, 2009 Microsoft Corporation. Alle rechten voorbehouden.

Herdrukt door toestemming van Pearson Education, Inc. van Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition by Krzysztof Cwalina and Brad Abrams, published oct 22, 2008 by Addison-Wesley Professional als onderdeel van de Microsoft Windows Development Series.

Zie ook