Visual C# 2012 Grundkurs

Statische Klassen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Eine statische Klasse wird verwendet, um Daten und Funktionen zu erstellen, auf die zugegriffen werden kann, ohne dass die Klasse instanziiert werden muss. Diese Klasse besteht ausschließlich aus statischen Mitgliedern.

Transkript

In diesem Abschnitt möchte ich statische Klassen zeigen. Schauen wir uns mal diesen Code an. Ich habe eine Klasse "Definitions" definiert und die stellt uns ein paar Definitionen zur Verfügung, hier z.B. dieses "string Author" und dann noch die Möglichkeit eine Konfiguration einzulesen, eine Konfigurationsinformation. Die beabsichtigte Nutzung dieser Klasse sähe so aus, dass man schreibt: Definitions.Author. (Tippgeräusche) Dann kann man damit irgend etwas tun. (Tippgeräusche) Wenn der Autor z.B. "Mirko" heißt, dann soll irgendetwas passieren. Entsprechend ist es mit "s =Definitions.ReadConfigurations ("Info1")", irgend so was. O.K. soweit so gut, zum beabsichtigten Zweck dieser Klasse. Jetzt könnte jemand, der diesen beabsichtigten Zweck der Klasse nicht wirklich versteht, auf die Idee kommen, an diesem Code weiterzuarbeiten und z.B. irgend so etwas einzufügen, also irgendeine Mitgliedsvariable und dann noch eine Methode dazu. (Tippgeräusche) Das würde es erfordern, von diesen "Definitions" eine Instanz anzulegen, um z.B. auf diese Methode "foo" zugreifen zu können. Man sieht schon, dass das eine inkonsistente Nutzung dieser Klasse ist. Eigentlich war die Klasse so gedacht, dass man mit dem Wort "Definitions.irgendetwas" eine Definition abruft. Also wäre es gut sicherzustellen, dass auf gar keinen Fall eine Instanz von einer Klasse angelegt werden kann. Einer der möglichen Wege, wie man so etwas tun kann, wäre einen privaten Konstruktor anzulegen. (Tippgeräusche) Man schreibt noch einen Kommentar dazu. Nun ist es so, dass niemand eine Instanz von dieser Klasse anlegen kann. Der Compiler würde dann sagen, es geht nicht, weil der Konstruktor privat ist. Aber eigentlich ist es nur ein Trick. Es ist einfach so ein Hack, der nicht wirklich dem Sinn der Sache gerecht wird. Dem Sinn der Sache gerecht wird, wenn ich einfach mit dem Schlüsselwort "static" sage dass diese Klasse wirklich nur statische Elemente zu enthalten hat. Wenn ich jetzt kompiliere, dann bekomme ich auch hier einen Fehler angezeigt, dass diese Variable I, hier z.B. diese Mitgliedsvariable, nicht gültig ist, weil sie eine Instanzvariable ist. Auf die Art und Weise kann man eigentlich auch nie vergessen, dieses "static"-Schlüsselwort hier vorne hin zu schreiben. Auch hier die Methode "foo" wird angemotzt und ich müsste sie entweder statisch machen oder die gesamte Logik umschreiben. Dann ist es natürlich so, dass auch das Anlegen eines Objekts von diesem Typ nicht mehr möglich ist. Der Compiler meckert einfach: "Cannot declare a variable of static type" und "Cannot create an instance of the static class". Das sind gleich zwei Fehler in einer Zeile. Also, das Schlüsselwort "static" in der Definition einer Klasse stellt sicher, dass eine Klasse nur statische Elemente enthalten kann. Das kann jetzt wiederum an vielfältiger Stelle genutzt werden. Z.B. gibt es da sogenannte "Extension Classes" in .NET und diese "Extension Classes" müssen z.B. statisch sein, denn sie dürfen nur statische Methoden deklarieren. Also macht dieses Schlüsselwort auch absolut Sinn. Es gibt Kontexte, wo man statische Klassen als solche braucht.

Visual C# 2012 Grundkurs

Schreiben Sie eigene Programme in C# und lernen Sie dazu alle Schlüsselwörter und die meisten Konstrukte kennen, um sicher mit dieser Programmierspreche umzugehen.

7 Std. 1 min (44 Videos)
Derzeit sind keine Feedbacks vorhanden...

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!