Informatik I - Institut für Informatik - Christian-Albrechts-Universität zu ...
Informatik I - Institut für Informatik - Christian-Albrechts-Universität zu ...
Informatik I - Institut für Informatik - Christian-Albrechts-Universität zu ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Deklaration sich anschließende ML-Anweisung schreibt sich in Java wie folgt:<br />
B.set credit(1000);<br />
B.deposit(500);<br />
B.deposit(300);<br />
B.withdraw(200);<br />
Um den nach der Ausführung dieses Programmstücks noch verfügbaren Geldbetrag bzw.<br />
den Kontostand <strong>zu</strong> bekommen, was in ML durch die Auswertung von Termen erfolgte,<br />
kann man in Java beide Werte mittels der Ausgabe-Anweisungen<br />
System.out.println(B.available());<br />
System.out.println(B.credit balance());<br />
am Bildschirm ausgeben. �<br />
Konstruktoren dienen da<strong>zu</strong>, <strong>zu</strong>sammen mit dem Operator new Instanzen einer Klasse –<br />
eventuell auch mit einem gewissen Anfangs<strong>zu</strong>stand – <strong>zu</strong> erzeugen. Sie tragen immer den<br />
Namen der Klasse, also etwa in Beispiel 6.1.5 account <strong>zu</strong>m Erzeugen einer Instanz der<br />
Klasse account. Für jede Klasse C stellt Java einen parameterlosen Standard-Konstruktor<br />
bereit, dessen Aufruf in new C() einen speziellen Anfangs<strong>zu</strong>stand festlegt (gegeben durch<br />
die Initialisierung von neu deklarierten Variablen; man vergleiche mit Abschnitt 6.3) und<br />
entsprechenden Speicherplatz reserviert. Konstruktoren mit Parametern müssen hingegen<br />
von Benutzer in der entsprechenden Klasse eigens deklariert werden. Erweitert man etwa<br />
die Klasse account von Beispiel 6.1.5 um den Konstruktor<br />
account (int n) { cr = n; },<br />
so wird durch account B = new account(1000); eine Instanz B von account erzeugt,<br />
dessen Überziehungskredit mit 1000 Geldeinheiten initialisiert ist. Wir wollen nicht näher<br />
auf Konstruktoren eingehen, da sie in dieser Vorlesung nicht mehr verwendet werden. Ihre<br />
Bedeutung wird sich erst in <strong>Informatik</strong> II ergeben.<br />
An dieser Stelle ist noch eine wichtige Bemerkung <strong>zu</strong>r praktischen Ausführung von Java-<br />
Programmen angebracht. Etwas genauer gehen wir auf die Benut<strong>zu</strong>ng des Java-Systems<br />
in Abschnitt 6.5 ein.<br />
6.1.6 Bemerkung (<strong>zu</strong>r Ausführung von Java-Programmen)<br />
Wir gehen davon aus, daß das gesamte Java-Programm in eventuell mehreren Dateien<br />
untergebracht ist, in jeder Datei genau eine Klasse als sichtbar erklärt ist und alle Dateien<br />
übersetzt sind. Eine sichtbare Klasse wird <strong>zu</strong>r Hauptprogramm-Klasse erklärt, indem<br />
sie eine Methode der folgenden Form enthält:<br />
public static void main (String[] args) { ... }<br />
Hier ist main der fest vorgeschriebene Name. Die – ebenfalls fest vorgeschriebenen – beiden<br />
Modifizierer public und static der Methode besagen, daß main sichtbar ist bzw.<br />
192