Home   Cover Cover Cover Cover
 

Parameterarten

Ref-Parameter:

+ Man kann damit Methoden mit Übergangsparametern schreiben, also mit Werten, die der Methode übergeben werden, von dieser verändert werden und wieder an den Rufer zurückgegeben werden. Will man dasselbe mit Funktionen bewerkstelligen, braucht man sowohl einen Eingangsparameter als auch einen Funktionswert.
+ Man kann damit Methoden schreiben, die mehrere Übergangsparameter besitzen. Mit Funktionen kann man nur einen einzigen Rückgabewert liefern.
+ Ref-Parameter werden beim Aufruf nicht kopiert, sondern es wird nur ihre Adresse übergeben. Das ist bei großen Parametern effizienter als das Kopieren.
- Es kann zu Seiteneffekten kommen, da der formale Ref-Parameter ein Alias-Name des aktuellen Ref-Parameters ist. Wenn die Methode den formalen Parameter verändert, ändert sich gleichzeitig auch der aktuelle Parameter.

Out-Parameter:

+ Man kann damit Methoden schreiben, die mehrere Rückgabewerte liefern. Mit Funktionen kann man nur einen einzigen Rückgabewert liefern.
+ Out-Parameter werden bei der Rückgabe nicht kopiert, sondern es wird beim Methodenaufruf nur die Adresse einer Variablen übergeben, in die die aufgerufene Methode den Wert des Out-Parameters schreibt. Das ist bei großen Parametern effizienter als das Kopieren.
+ Der Compiler prüft, ob die aufgerufene Methode dem Out-Parameter tatsächlich einen Wert zuweist.
- Es kann zu Seiteneffekten kommen, da der formale Out-Parameter ein Alias-Name des aktuellen Out-Parameters ist. Wenn die Methode den formalen Parameter verändert, ändert sich gleichzeitig auch der aktuelle Parameter.

Funktionswerte:

+ Es kann zu keinen Seiteneffekten kommen.
+ Der Rückgabewert kann vom Rufer ignoriert werden, was aber vielleicht auch als Nachteil gewertet werden kann.
- Eine Methode kann nicht mehrere Funktionswerte liefern.