Möchten wir Hacker von unserem Bankkonto fernhalten?
Ja.
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.
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?