Eine gute Antwort könnte sein:

  1. Anweisung A ruft die erste verarbeiteEinzahlung() Methode auf. TRUE
  2. Anweisung A ruft die zweite verarbeiteEinzahlung() Methode auf. FALSE
  3. Anweisung B ruft die erste verarbeiteEinzahlung() Methode auf. FALSE
  4. Anweisung B rift die zweite verarbeiteEinzahlung() Methode auf. TRUE

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 Parametern im Aufruf übereinstimmen.

Zum Beispiel, der Aufruf

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

stimmt mit dieser Methodendeklaration überein:

void  verarbeiteEinzahlung( int betrag, int serviceCharge )

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

Die Signatur der Methode ist:

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

Der Rückgabetyp ist nicht Teil der Signatur, und die verwendeten Bezeichner für die formalen Parameter sind nicht Teil der Signatur.

FRAGE 13:

Eine Klasse hat die folgenden zwei Methoden:

float gebuehrPenalty( int betrag  ) { ... }
int   gebuehrPenalty( int penalty ) { ... }

Haben diese Methoden eindeutige Signaturen?