zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

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?