Die Bedeutung von Methodendeklarationen in Java *
Methoden *
Eine Methode gehört zum Laufzeitmodell.
Sie wird bestimmt durch
- die Klasse, zu der sie gehört, (wie »java.lang.Thread« oder »java.lang.Math«) und
- ihre Signatur (wie »dumpStack()« oder »floor(double)«).
Darüber hinaus hat eine Methode noch folgende Eigenschaften:
- eine Sichtbarkeit (wie »public«),
- eine Festlegung zur Frage, ob es sich um einen statische Methode handelt (wie »static«),
- eine Rückgabespezifkation (wie »void«),
- eine Parameterliste (wie »()«) und
- eine Implementation.
Ferner sollte es zu einer Methode eine Spezifikation ihrer Aufgabe (in Englisch oder Deutsch) geben.
Hier folgen nun noch einige Erklärungen zur Bedeutung der obigen Eigenschaften:
- Man stellt sich vor, daß jede Methode in einer bestimmten Klasse enthalten ist, jene Klasse ist dann die Klasse, zu welcher die Methode gehört.
- Die Signatur einer Methode besteht aus ihrem Namen und der Liste der Typen ihrer Parameter (s.u.).
- Die Sichtbarkeit »public« bedeutet, daß die Methode nicht versteckt werden soll. (Eine versteckte Methode kann nicht mehr ohne weiteres von allen Teilen eines Programms aus aufgerufen werden.)
- Eine statische Methode ist eine Methode, die man ohne Objekte aufrufen kann. (Nicht-statische Methoden und Objekte werden in diesem Kurs erst später behandelt werden.)
- Die Rückgabespezifikation einer Methode bestimmt den Typ eines zu jener Methode gehörenden Aufrufausdrucks.
- Die Parameterliste einer Methode bestimmt, welche Argumentausdrücke in einem zu jener Methode gehörenden Aufrufausdruck erwartet werden.
- Die Implementation legt fest, wie genau die Methode im einzelnen ihre Aufgabe erledigt.
Methodendeklarationen *
Eine Methodendeklaration gehört zum Quelltextmodell.
Durch eine Methodendeklaration kann ein Programmierer eine neue Methode anlegen und ihre Eigenschaften festlegen. Eine Spezifikation zur Methode kann als Kommentar davorgeschrieben werden.
Obwohl dies technisch falsch ist, werden Methodendeklarationen auch oft einfach nur kurz als „Methoden “ bezeichnet. (Eine Methode ist genaugenommen kein Teil des Quelltextes, sondern eine vorgestellte Sache, die zur Laufzeit existiert. Eine Methodendeklaration beschreibt eine solche Methode und steht im Quelltext.)
Ein Beispiel einer Methodendokumentation *
Bereits in eine früheren Teil des Kurses hatten wir die Dokumentation von Methoden kennengelernt. Die Dokumentation einer Methoden ist (oder „beschreibt“) praktisch deren semantische Außenseite.
- Dokumentation von »java.lang.Thread.dumpStack()« (übersetzt und überarbeitet)
java.lang
Class Threadpublic static void dumpStack()
- Gibt einen Stapelbericht aus.
- Proklamation von »java.lang.Thread.dumpStack()«
public static void dumpStack()
Man kann die Dokumentation als eine Beschreibung einer Methode verstehen, bei welcher die Implementation ausgeklammert wird, aber alle Informationen gegeben werden, die man braucht, um das Dokumentierte nutzen zu können. Im einzelnen können wir der Methodendokumentation folgenden Aussagen über die dokumentierte Methode entnehmen.
- Zunächst findet man die Klasse »java.lang.Thread«, zu welcher die Methode gehört (angegeben durch das Paket »java.lang« und dem eigentlichen Namen der Klasse »Thread«).
- Durch das am Ende der Proklamation (vorletzte Zeile) befindlich »dumpStack()« wird berichtet, daß die Signatur der Methode »dumpStack()« lautet.
- Durch das »public« wird berichtet, daß die Sichtbarkeit »public« ist. (Das Wort »public« wird auf den Dokumentation in der Zusammenfassung der Methoden weggelassen, aber es findet sich dann weiter unten, bei der detaillierteren Beschreibung der Methode.)
- Durch die Rückgabespezifikation »void« wird festgelegt, daß die Methode keinen Rückgabetyp hat (und somit keinen Wert liefert).
- Durch »()« wird festgelegt, daß die Parameterliste der Methode »()« lautet.
Ein Beispiel einer Methodendeklaration *
- Eine Methodendeklaration
public static void lkw(){ java.lang.System.out.print( "Lastkraftwagen" ); }
Die Methodendeklaration in einem Programm
public final class Main
{public static void lkw(){ java.lang.System.out.print( "Lastkraftwagen" ); }
public static void main( final java.lang.String[] args )
{ lkw(); java.lang.System.out.println(); }}- Eine mögliche Dokumentation von »lkw()«
Class Main
- Method Summary
public static void lkw()
- Gibt die Zeichenfolge »Lastkraftwagen« aus.
- Proklamation von »lkw()«
public static void lkw()
Die Methodendeklaration können wir ganz ähnlich wie eine Methodendokumentation lesen. Insbesondere der Teil vor der ersten geschweiften Klammer entspricht fast genau der Proklamation einer Methode, wie man sie in der Dokumentation findet.
Die obenstehenden Methodendeklaration enthält folgende Festlegungen.
- Durch den Ort, an dem sich die Methodendeklaration befindet, legt sie fest, zu welcher Klasse die Methode gehört. (In unseren Beispielen gehören bis auf weiteres alle Methoden zu der Klasse »Main«.)
- Durch das »lkw()« wird festgelegt, daß die Signatur der Methode »lkw()« ist. Insbesondere ist »lkw« der Name der Methode, der Methodenname.
- Durch das »public« wird festgelegt, daß die Sichtbarkeit der Methode »public« ist.
- Durch die Rückgabespezifikation »void« wird festgelegt, daß die Methode keinen Rückgabetyp hat (und somit keinen Wert liefert).
- Durch »()« wird festgelegt, daß die Parameterliste der Methode »()« lautet.
- Durch den Block »{ java.lang.System.out.print( "Lastkraftwagen" ); }« wird die Implementation der Methode festgelegt.