Möchten wir Hacker von unserem Bankkonto fernhalten?
Antwort:
Ja.
Der Zugriffsmodifizierer private
Wenn ein Klassenelement als private deklariert ist,
kann es nur von den Methoden dieser Klasse verwendet werden.
Hier ist die Klassendefinition der Bankkonto-Klasse aus dem letzten Kapitel,
wobei jetzt jede ihrer Variablen als private deklariert ist.
class Bankkonto { // Instanzvariablen private String kontonummer; private String kontoinhaber; private int kontostand; //Konstruktor Bankkonto( String ktoNummer, String ktoInhaber, int start ) { kontonummer = ktoNummer; kontoinhaber = ktoInhaber; kontostand = start; } // Instanzmethoden int aktuellerKontostand() { return kontostand; } void verarbeiteEinzahlung( int betrag ) { kontostand = kontostand + betrag; } void verarbeiteAuszahlung( int betrag ) { int gebuehr; if ( kontostand < 100000 ) // in Cent gebuehr = 15; else gebuehr = 0; kontostand = kontostand - betrag - gebuehr; } }
Jetzt können nur die Methoden eines Bankkonto-Objekts
die Werte in kontonummer, kontoinhaber und kontostand sehen.
FRAGE 2:
Es ist nutzlos ein Bankkonto zu haben, wenn der Kontostand
nicht geändert werden kann.
Wie kann eine Applikation wie main()
den Kontostand eines Bankkonto-Objekts ändern?