Warum Abstrakte Klasse kann nicht versiegelt oder statisch?
Warum Abstrakte Klasse kann nicht versiegelt oder statisch ?
und ich bin auch erschüttert über diese Frage Warum deklarieren statische Klassen als sealed und abstract in C#?
Werfen Sie einen Blick auf diese Antwort von Michel Keijzers: stackoverflow.com/a/9213911/540653
was ist das für Verwirrung?
Abstrakte Klasse können nicht statisch sein, und die andere Seite sagt deklarieren von statischen Klasse als Abstrakt, was bedeutet das ? @abhitals
was ist das für Verwirrung?
Abstrakte Klasse können nicht statisch sein, und die andere Seite sagt deklarieren von statischen Klasse als Abstrakt, was bedeutet das ? @abhitals
InformationsquelleAutor anomepani | 2014-01-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
static
Klasse kann nicht markiert werdensealed
weil essealed
compiler standardmäßig.static
Klasse kann nicht markiert werden, wieabstract
, weil es sinnlos wäre.abstract
Klasse macht Sinn, wenn Sie möchten, dass alle abgeleiteten Klassen zu implementieren, die denselben Teil der Logik. Aber dastatic
Klasse kann nicht abgeleitet werden, es gibt keine Möglichkeit andere Klasse implementieren, die diese Lücken schließen.Beide Zitate aus Statische Klassen und Statische Klassenmember (C# - Programmierhandbuch).
C# - Spezifikation ist ein wenig Ausführlicher darüber:
Können Sie Lesen, was bedeutet es für die Klasse
sealed
oderabstract
:Update
Und ein Wort über einen verlinkten Artikel in der Abfrage, die Sie erwähnt (Statische Klasse Design). Es ist schon in akzeptierte Antwort auf diese Frage. Wenn du genau liest kannst du sehen, dass:
.NET (also C#) haben eine integrierte Unterstützung für statische Klassen, so dass Sie nicht haben (und auch nicht kann), um Ihren Klassen pseudo-statische indem Sie es markieren beide
sealed
undabstract
.Das ist es nicht. Versuchen
public sealed class A { }
undpublic sealed class B : A {}
. Sie erhalten 'B
': cannot derive from sealed type 'A
' Fehlermeldung.danke @MarcinJuraszek ,deine Erklärung ist toll, ich habe meine Antwort ,ich bin nur nicht bewusst static interne definition wie verhält es sich wie sealed und abstract, weil die Statische Klasse wird nicht instanziiert, wie abstract - Klasse, und kann nicht vererbt werden wie sealed - Klasse .Danke
InformationsquelleAutor MarcinJuraszek