Eine gute Antwort wäre:

  1. Anweisung A ruft die erste verarbeiteEinzahlung() Methode auf. WAHR
  2. Anweisung A ruft die zweite verarbeiteEinzahlung() Methode auf. FALSCH
  3. Anweisung B ruft die erste verarbeiteEinzahlung() Methode auf. FALSCH
  4. Anweisung B ruft die zweite verarbeiteEinzahlung() Methode auf. WAHR

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 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 Parametern 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?

Inhaltsverzeichnis