Semester_Vaadin |
---|
01_StartProject |
02_Component |
03_Layout |
04_Basiklasse |
05_Serviceklasse |
06_GridSimple |
07_Event |
08_Exception |
09_Grid_Manuell |
10_Delete |
11_Validation |
12_Insert |
Gegeben ist folgender Code:
public class Formel
{
public int calc(int a, int b)
{
return a+b;
}
public int calc(boolean ok, int value)
{
if (ok == true)
{
return 2*value;
}
else
{
return value+1;
}
}
public int calc(int x, int y, int z)
{
int res;
= calc(true, z) + calc(x, z) + calc(false, y);
res return res;
}
}
Die drei Methoden haben eine unterschiedliche Signatur:
calc int int
calc boolean int
calc int int int
Durch den Methodenaufruf wird die Methode mit der Signatur
calc int int int
ausgeführt.
Dabei ist:
Parameter 1
Parameter 2
Parameter 3
Es wird die Methode mit der Signatur calc boolean int
aufgerufen.
Parameter true
Parameter 3
Die if
Abfrage liefert true
Es wird 2*3 = 6
zurückgegeben
Rücksprüng in die Methode
Es folgen weitere Methodenaufrufe nach dem selben Schema.
Der Code muss Syntaxfehler FREI sein.
Das STOP
Symbol definiert einen Haltepunkt.
Das Programm wird beim Erreichen des Haltepunktes angehalten.
Instance varibles … sind die Eigenschaften
Local variables … sind die Parameter und die lokalen Variablen
Step … springt über die Methode drüber
Step Into … springt in die Methode hinein
public int calc(int x, int y, int z, boolean ja)
{
int res;
= calc(true, x) + calc(x, z) + calc(false, x);
res return res;
}
Es werden die Parameter x
und z
verwendet.
Somit wurden die Parameter y
und ja
nicht verwendet und sind aus dem Methodenkopf zu
entfernen.
public int calc(int x, int z)
{
int res;
= calc(true, x) + calc(x, z) + calc(false, x);
res return res;
}
Achtung nun passt die Signatur möglicherweise nicht!