Der Zugriffsmodifizierer private


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?