Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Javakurs2008/Vortrag03

Methoden, Java API, Namensgebung, Testen, Debuggen

Vortragende: Kai Dietrich <kai freitagsrunde.org>, Nadim El Sayed <thenado at cs tu berlin de>

Folien

Audio Podcast

TODO

Video Mitschnitt

TODO

Themen

Methoden

Strukturiertes Programmieren ist durch die Verwendung von Subroutinen gekennzeichnet. In Java heissen diese Routinen "Methoden" und gehören zu Klassen (mehr dazu in LE5 und LE6). Methoden werden innerhalb von Klassen definiert und bestehen aus Kopf und Rumpf. Im Kopf wird Rückgabetyp und Parameterliste deklariert, im Rumpf wird die Funktionalität durch Code festgelegt. Die Rückgabe wird durch eine return Anweisung erreicht.

//Methodenbeispiel (Syntax und konkret)
class SomeClassname {

  //berechnet ... aus ... und gibt ... zurück
  public static <RückgabeTyp> methodenName1( <Typ> paraMeter1, <Typ> paraMeter2,... ) {
    //do something fancy here

    return <Ausdruck vom Typ "Rückgabetyp">
  }


  //fügt ... in ... ein und gibt ... zurück
  public static <Rückgabetyp> methodenName2( <Typ> paraMeter1, <Typ> paraMeter2 ) {
    //do something fancy here

    return <Ausdruck vom Typ "Rückgabetyp">
  }

  //jetzt als konkretes Beispiel
  
  //berechnet die exp'te potenz von base
  public static double pow(int base, int exp) {
    //... insert code here
  }

}

Rückgabetypen und Parameter-Typen können alle primitiven (int, double, float, char, byte, long) und komplexen Datentypen (String, Arrays, ...) von Java sein.

Parameter werden entweder als Kopie in die Methode übergeben (Call-by-Value) oder als sog. Referenz (Call-by-Reference, siehe LE 5 und 6).

Java API

Die Java API ist eine Dokumentation der eingebauten Funktionalität der Java Virtual Machine. Sie stellt eine Abbildung der Namen der Klassen und Methoden auf eine Beschreibung ihrer Funktionalität dar. Die umgekehrte Frage, also ein Weg von einer Beschreibung der Funktionalität zur entsprechenden Methode oder Klasse beantwortet die Java API nur schlecht.

Namensgebung

TODO

Testen

TODO

Debuggen

TODO