Arbeiten mit .NET: Sprachen: Grundlagen/ Die Klasse Program

Aus Wikibooks

Die Main-Methode wurde bisher immer in einer Program-Klasse untergebracht. Dazu wollen wir ein paar Erläuterungen geben.

Die Verwendung[Bearbeiten]

Diese Art der Gliederung hat sich eingebürgert.

Da es (im Regelfall) genau eine Main-Methode gibt und diese ohne ausdrückliche Instanz zur Verfügung stehen muss, ist es eigentlich gleichgültig, wo und wie diese Methode zu finden ist. Es ist aber übersichtlich, sie vom sonstigen Inhalt des Programms zu trennen; da sie das Programm selbst steuert, nennt man die Klasse, die der Steuerung dient, eben Program.

Diese Klasse muss grundsätzlich keine weiteren Bestandteile enthalten.

Bei Konsole-Anwendungen[Bearbeiten]

In diesem Fall steuert die Main-Methoden den gesamten Arbeitsablauf. Also muss die Program-Klasse alles Weitere dazu enthalten. Variablen und Methoden, die direkt zum Arbeitsablauf gehören, stehen also ebenfalls in dieser Klasse.

Achtung: Ebenso wie die Main-Methode aufgerufen wird, ohne dass eine Instanz der Program-Klasse erzeugt wird, müssen auch die anderen Bestandteile direkt zur Verfügung stehen. Sie sind also ebenfalls als static/Shared/class member (je nach Programmiersprache) zu deklarieren.

Bei Windows-Anwendungen[Bearbeiten]

In diesem Fall steuert die Main-Methoden den Start der Anwendung. Also gehört hierher alles, was den Start ergänzt:

  • Es kann geprüft werden, ob eine Anwendung überhaupt gestartet werden darf oder nicht. Beschränkungen durch Nutzungsdauer, Anzahl der offenen Instanzen usw. werden geprüft; im Falle eines Falles wird das Programm sofort beendet.
  • Übergebene Argumente werden analysiert. Abhängig von deren Inhalt wird ein bestimmtes Formular als Hauptformular geöffnet, eine bestimmte Datei geladen oder ein spezieller Arbeitsablauf ausgelöst.
  • Ein Startbildschirm wird angezeigt, während umfangreiche Vorarbeiten stattfinden, und vor dem Start des Hauptformulars gelöscht.
  • Über ein Login-Formular werden Benutzername und Passwort geprüft und davon bestimmte Zugangsrechte abhängig gemacht.

Punkte wie die ersten beiden können vollständig in der Program-Klasse untergebracht werden, jedenfalls soweit keine weiteren Objekte erzeugt werden müssen.

Für die beiden letzten Punkte werden dagegen weitere Objekte benötigt, nämlich der Startbildschirm oder das Login-Formular. In solchen Fällen werden in der Program-Klasse die Objekte erzeugt und das Ergebnis der Vorarbeit geprüft; die Vorarbeit selbst findet in den betreffenden Klassen statt und wird deshalb in eigenen Klassen (und damit in jeweils eigenem Quellcode) definiert.

Alternativen[Bearbeiten]

Sie können jederzeit die Main-Methode in einer anderen Klasse, zum Beispiel beim Hauptformular unterbringen und auf die Program-Klasse verzichten. Dies empfiehlt sich aber wirklich nur bei einfachen Windows-Anwendungen, deren Main-Methode sich auf drei Zeilen beschränkt.

Sie können jederzeit die Program-Klasse anders benennen, beispielsweise mit einem Namen, der dem Namen der Anwendung entspricht.

Jede andere Bezeichnung ist ebenfalls zulässig. Aber je weiter sich ein Programmierer vom "üblichen Weg" entfernt, desto weniger verständlich ist sein Code.