zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

  1. Anweisung A ruft verarbeiteEinzahlung(int) auf.
  2. Anweisung B ruft verarbeiteEinzahlung(int, int) auf.

Signatur von Methoden

Bei mehreren Methoden, die den gleichen Namen haben, ist es leicht zu bestimmen, welche durch den Aufruf verlangt wird:

Die verwendete Methode ist die, deren formale Parameter mit den aktuellen Parameter beim Aufruf übereinstimmen.

Zum Beispiel, der Aufruf

bobsKonto.verarbeiteEinzahlung( 200, 25 );  //Anweisung B

stimmt mit dieser Methodendeklaration überein:

void  verarbeiteEinzahlung( int betrag, int gebuehr )

da die Anzahl und der Typ der aktuellen Parameter mit der Anzahl und dem Typ der formalen Parameter übereinstimmt.

Die Signatur einer Methode ist:

Die Signatur von Methoden in einer Klasse muss eindeutig sein.  Zum Beispiel sind die Signaturen der zwei verarbeiteEinzahlung() Methoden folgende:

Kein Teil der Signatur ist der Rückgabetyp und die verwendeten Bezeichner für die formalen Parameter.

FRAGE 13:

Eine Klasse hat die folgenden zwei Methoden:

float strafGebuehr( int betrag  ) { ... }
int   strafGebuehr( int strafe ) { ... }

Haben diese Methoden eindeutige Signaturen?