Freigeben über


Unversiegelte 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.

Von versiegelten Klassen kann nicht geerbt werden, und sie verhindern die Erweiterbarkeit. Im Gegensatz dazu werden Klassen, von denen geerbt werden kann, als nicht versiegelte Klassen bezeichnet.

✔️ ERWÄGEN Sie, nicht versiegelte Klassen ohne hinzugefügte virtuelle oder geschützte Member als hervorragende Möglichkeit zu verwenden, eine ebenso kostengünstige wie geschätzte Erweiterbarkeit für ein Framework zu bieten.

Entwickler möchten häufig von nicht versiegelten Klassen erben, um praktische Member wie benutzerdefinierte Konstruktoren, neue Methoden oder Methodenüberladungen hinzuzufügen. Beispielsweise ist System.Messaging.MessageQueue nicht versiegelt und ermöglicht Benutzern, benutzerdefinierte Warteschlangen zu erstellen, die standardmäßig einen bestimmten Warteschlangenpfad haben, oder benutzerdefinierte Methoden hinzuzufügen, die die API für bestimmte Szenarios vereinfachen.

Klassen sind in den meisten Programmiersprachen standardmäßig nicht versiegelt. Dieser Standard wird auch für die meisten Klassen in Frameworks empfohlen. Die Erweiterbarkeit, die nicht versiegelte Typen bieten, wird von Frameworkbenutzern sehr geschätzt und ist aufgrund relativ niedriger Testkosten, die mit nicht versiegelten Typen verbunden sind, sehr kostengünstig.

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