Ist es schwierig dieses Problem abzuwenden?
Nein — normalerweise werden alle Instanzvariablen in der Klassendefinition an einer Stelle deklariert und es ist leicht sie zu kontrollieren.
Wenn zwei oder mehr Methoden einer Klasse den gleichen Namen, aber verschiedene
Parameterlisten haben, spricht man vom Überladen der Methoden.
Wenn eine der Methoden (von main()
oder einer anderen Methode) aufgerufen wird, ist es durch die Übereinstimmung der aktuellen Parameter mit der formalen Parameterliste klar welche Methode gemeint ist.
Hier ist eine weitere Änderung der Konto
Klasse:
class Konto { . . . . private int kontostand; . . . . void verarbeiteEinzahlung( int betrag ) { kontostand = kontostand + betrag ; } void verarbeiteEinzahlung( int betrag, int gebuehr ) { kontostand = kontostand + betrag - gebuehr; } }
Angenommen, dass zwei verarbeiteEinzahlung()
Methoden gebraucht werden:
Der obenstehende Code implementiert diese Anforderung.
Hier ist ein Beispiel der main()
Methode, die beide Methoden verwendet:
class KontoTester { public static void main( String[] args ) { Konto bobsKonto = new Konto( "999", "Bob", 100 ); bobsKonto.verarbeiteEinzahlung( 200 ); // Anweisung A bobsKonto.verarbeiteEinzahlung( 200, 25 ); // Anweisung B } }
Welche der folgenden Aussagen ist richtig?
verarbeiteEinzahlung()
Methode auf.verarbeiteEinzahlung()
Methode auf.verarbeiteEinzahlung()
Methode auf.verarbeiteEinzahlung()
Methode auf.