Methoden

[Startseite]


Vorwort ] Voraussetzungen ] JAVA ] Implementierung von Klassen ] Erste Programme ] Klassenbibliothek ] Installation ] Applets ] Mehr JAVA ] Inside stiftUndCo ] Beispiele ] Downloads ]

Bezeichner
Kommentare
Anweisungen
Zuweisung
Entscheidungen
Boolesche Ausdrücke
Schleifen
Variablendeklaration
Konstantendeklarationen
Einfache Datentypen
Arithmetische Operatoren
Zeichenketten
Felder
Typzusicherungen
Methoden
Klassenmethoden
Methoden

Sämtliche Funktionalität ist in JAVA an Klassen und Objekte gebunden. "Eigenständige" Prozeduren und Funktionen gibt es nicht. Innerhalb von Klassen wird die Funktionalität mit Hilfe von Methoden realisiert. Methoden kann man nach verschiedenen Gesichtspunkten klassifizieren. Hier sollen folgende Typen unterschieden werden:

 

  • Konstruktoren
  • Methoden mit und ohne Rückgabewert
    • objektgebundene Methoden
    • Klassenmethoden

 

Methoden ohne Rückgabewert entsprechen im Prinzip den PASCAL-Prozeduren, Methoden mit Rückgabewert den Pascal-Funktionen. Konstruktoren stellen eine Sonderform der Methoden mit Rückgabewert dar. Konstruktoren werden anhand eines Beispiels weiter unten näher erläutert. Dieses bezieht sich auf die Implementierung einer Klasse, für die eine Beschreibung in einer programmiersprachenunabhängigen Form vorliegt.

 

Eine Methodendeklaration folgt dieser Syntax:

 

<Modifier> <Typ des Rückgabewertes> <Methodenbezeichner> ( <Parameterliste>)

{

<Anweisungsfolge>

}

 

Beispiel 1:

 

private void halloWelt()

{

stift.schreibe("Hallo Welt");

}

Dies ist ein Beispiel für eine Methode ohne Rückgabewert, entsprechend einer PASCAL Prozedur. Als Typ des Rückgabewertes gibt man in diesem Falle void ("nichts") an. Der Modifier sagt etwas über den Nutzungsbereich der Methode an. Diese hier kann nur von einem Objekt der eigenen Klasse benutzt werden (private-Deklaration). Die Parameterliste bleibt leer, muß aber angegeben werden. Dies gilt auch für den Methodenaufruf:

 

meinObjekt.halloWelt();

 

Beispiel 2:

 

public int quadrat(int x)

{

return x*x;

}

Dies ist ein Beispiel für eine Methode mit Rückgabewert, und entspricht soweit einer Funktionsprozedur in PASCAL. Als Typ des Rückgabewertes gibt man den gewünschten Typ an, hier int. Es könnte aber auch jeder andere Datentyp sein, natürlich auch eine Klasse. Der Modifier public bedeutet in diesem Falle, daß die Methode auch von Objekten anderer Klassen benutzt werden kann. Präziser formuliert: Objekte andere Klassen können einem Objekt der gegebene Klasse die Anfrage quadrat schicken. Während in PASCAL der Rückgabewert dem Bezeichner der Funktion zugewiesen wird, wird hier der hinter return stehende Ausdruck ausgewertet und als Rückgabewert benutzt. Anweisungen, die nach return auszuführen wären, werden nicht mehr ausgeführt!. Sind diese unerreichbar, so gibt der Compiler eine Fehlermeldung aus:

 

Beispiel:

 

public int quadrat(int x)

{

    return x*x;

    stift.schreibe("Quadrat berechnet!");

    /* unzulässig, da nicht erreichbar! */

}

 

 

Korrekt ist dagegen:

 

public double max(double x, double y)

{

      if (x < y)

      {

         return y;

      }

      else

      {

         return x;

       }

}

 

 

 


Seitenanfang

© Georg Dick