Freigeben über


Entwurf abstrakter Klassen

Hinweis

Diese Inhalte wurden mit Genehmigung von Pearson Education, Inc. aus Framework Design Guidelines nachgedruckt: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition. Diese Ausgabe wurde 2008 veröffentlicht, und das Buch wurde seitdem in der dritten Ausgabe vollständig überarbeitet. Einige der Informationen auf dieser Seite sind möglicherweise veraltet.

❌ Definieren Sie KEINE öffentlichen oder geschützten internen Konstruktoren in abstrakten Typen.

Konstruktoren sollten nur dann öffentlich sein, wenn Benutzer Instanzen des Typs erstellen müssen. Da Sie keine Instanzen eines abstrakten Typs erstellen können, ist ein abstrakter Typ mit einem öffentlichen Konstruktor fehlerhaft konzipiert und für Benutzer irreführend.

✔️ DEFINIEREN Sie einen geschützten oder einen internen Konstruktor in abstrakten Klassen.

Ein geschützter Konstruktor ist gängiger und ermöglicht es der Basisklasse, eine eigene Initialisierung durchzuführen, wenn Untertypen erstellt werden.

Ein interner Konstruktor kann verwendet werden, um konkrete Implementierungen der abstrakten Klasse auf die Assembly zu beschränken, die die Klasse definiert.

✔️ STELLEN Sie mindestens einen konkreten Typ bereit, der von jeder von Ihnen veröffentlichten abstrakten Klasse erbt.

Dies erleichtert das Überprüfen des Entwurfs der abstrakten Klasse. System.IO.FileStream ist beispielsweise eine Implementierung der abstrakten Klasse System.IO.Stream.

Teile ©2005, 2009 Microsoft Corporation. Alle Rechte vorbehalten.

Nachdruck mit Genehmigung von Pearson Education, Inc aus Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition von Krzysztof Cwalina und Brad Abrams, veröffentlicht am 22. Oktober 2008 durch Addison-Wesley Professional als Teil der Microsoft Windows Development Series.

Weitere Informationen