Freigeben über


Entwurf statischer 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.

Eine statische Klasse ist definiert als eine Klasse, die nur statische Member enthält (natürlich außer den von System.Object geerbten Instanzmembern und ggf. einem privaten Konstruktor). Einige Sprachen bieten integrierte Unterstützung für statische Klassen. In C# 2.0 und höher ist eine als statisch deklarierte Klasse versiegelt, abstrakt, und es können keine Instanzmember überschrieben oder deklariert werden.

Statische Klassen stellen einen Kompromiss zwischen dem reinen objektorientierten Entwurf und Einfachheit dar. Sie werden häufig verwendet, um Abkürzungen zu anderen Vorgängen (z. B. System.IO.File), Inhabern von Erweiterungsmethoden oder Funktionen bereitzustellen, für die ein vollständiger objektorientierter Wrapper nicht gerechtfertigt ist (z. B. System.Environment).

✔️ VERWENDEN Sie statische Klassen sparsam.

Statische Klassen sollten nur als unterstützende Klassen für den objektorientierten Kern des Frameworks verwendet werden.

❌ Behandeln Sie statische Klassen NICHT als Behälter für diverse Elemente.

❌ Deklarieren oder überschreiben Sie Instanzmember in statischen Klassen NICHT.

✔️ DEKLARIEREN Sie statische Klassen als versiegelt, abstrakt, und fügen Sie einen privaten Instanzkonstruktor hinzu, wenn Ihre Programmiersprache keine integrierte Unterstützung für statische Klassen aufweist.

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