net.gobbz.kontoverwaltung
Class Konto

java.lang.Object
  extended by net.gobbz.kontoverwaltung.Konto
Direct Known Subclasses:
Gehaltskonto, Sparkonto

public abstract class Konto
extends java.lang.Object

Abstrakte Klasse Konto welche zur Konstruktion von Gehalts- und Sparkonto herangezogen wird

Author:
Michael Wild

Field Summary
protected  int kontonummer
          Speichert für jedes Konto die Kontonummer ab
protected  double kontostand
          Speichert für jedes Konto den momentanen Kontostand ab
protected static int naechsteKontonummer
          Dadurch wird die Kontonummer jedes neu anzulegenden Kontos ermittelt
protected static double startzinssatz
          Gibt den Zinssatz vor, der jedem Konto beim Anlegen automatisch zugewiesen wird.
protected  double zinssatz
          Speichert für jedes Konto den bei der Zinsberechnung verwendeten Zinssatz ab
 
Constructor Summary
Konto()
          Beim Anlegen erhält das Konto eine eindeutige Kontonummern und der Zinssatz wird übernommen.
 
Method Summary
abstract  void buchen(double betrag)
          Auf das Konto wird gebucht und damit der Kontostand geändert.
 int getKontoNummer()
          Die Kontonummer des Kontos wird gelesen.
 double getKontostand()
          Der Kontostand des Kontos wird gelesen.
abstract  double getSpesen()
          Ermittelt für das Konto die Spesen
static double getStartzinssatz()
          Gibt den gesetzten Startzinssatz zurück
abstract  double getZinsen()
          Ermittelt für das Konto den Zinsbetrag
 double getZinssatz()
          Der Zinssatz des Kontos wird gelesen
static void setStartzinssatz(double startzinssatz)
          Merkt sich für die Klasse den Startzinssatz.
 void setZinssatz(double zinssatz)
          Der Zinssatz des Kontos wird neu gesetzt
 java.lang.String toString()
          Ausgabe der Kontodaten.
 void ueberweisen(Konto k, double betrag)
          Überweist vom Konto auf ein anderes Konto.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

startzinssatz

protected static double startzinssatz
Gibt den Zinssatz vor, der jedem Konto beim Anlegen automatisch zugewiesen wird.


naechsteKontonummer

protected static int naechsteKontonummer
Dadurch wird die Kontonummer jedes neu anzulegenden Kontos ermittelt


kontonummer

protected final int kontonummer
Speichert für jedes Konto die Kontonummer ab


kontostand

protected double kontostand
Speichert für jedes Konto den momentanen Kontostand ab


zinssatz

protected double zinssatz
Speichert für jedes Konto den bei der Zinsberechnung verwendeten Zinssatz ab

Constructor Detail

Konto

public Konto()
Beim Anlegen erhält das Konto eine eindeutige Kontonummern und der Zinssatz wird übernommen. Es wird jedem neuen Konto eine fortlaufende Kontonummer gegeben. Dabei wird keine Kontonummer doppelt vergeben. Eine Kontonummer eines gelöschten Kontos darf nicht mehr verwendet werden. Weiters wird für das Konto der Zinssatz gesetzt, welcher durch setStartzinssatz für die gesamte Klasse gesetzt wurde. Der Kontostand wird auf 0 initialisiert

Method Detail

getZinsen

public abstract double getZinsen()
Ermittelt für das Konto den Zinsbetrag

Returns:
die Zinsen die für das Konto anfallen

getSpesen

public abstract double getSpesen()
Ermittelt für das Konto die Spesen

Returns:
die Spesen des Kontos

setStartzinssatz

public static void setStartzinssatz(double startzinssatz)
                             throws KontoException
Merkt sich für die Klasse den Startzinssatz. Wird ein Konto angelegt, so wird der durch diese Methode eingestellte Startzinssatz dem Konto zugewiesen. Der Zinssatz eines neu angelegtem Kontos wird durch den Startzinssatz initialisiert

Parameters:
startzinssatz - pstartZinssatz der zu setzende Startzinssatz
Throws:
KontoException - wird ausgelöst, wenn der Startzinssatz negativ ist

getStartzinssatz

public static double getStartzinssatz()
Gibt den gesetzten Startzinssatz zurück


getKontostand

public double getKontostand()
Der Kontostand des Kontos wird gelesen. Auf den Kontostand kann nur lesend zugegriffen werden. Buchungen im Konto werden durch die Methoden buchen und ueberweisen durchgeführt

Returns:
double den Kontostand

getKontoNummer

public int getKontoNummer()
Die Kontonummer des Kontos wird gelesen. Auf die Kontonummer kann nur lesend zugegriffen werden

Returns:
int die Kontonummer

getZinssatz

public double getZinssatz()
Der Zinssatz des Kontos wird gelesen

Returns:
double der Zinssatz

setZinssatz

public void setZinssatz(double zinssatz)
                 throws KontoException
Der Zinssatz des Kontos wird neu gesetzt

Parameters:
zinssatz - ist der zu setzende Zinssatz
Throws:
KontoException - wird ausgelöst, wenn der Zinssatz kleiner Null ist

buchen

public abstract void buchen(double betrag)
                     throws KontoException
Auf das Konto wird gebucht und damit der Kontostand geändert. Wird ein negativer Betrag angegeben, so bedeutet dies, dass vom Konto abgebucht wird. Positive Beträge bedeuten eine Erhöhung des Kontostandes

Parameters:
betrag - der zu verbuchende positive oder negative Betrag
Throws:
KontoException - wird aus Kompatiblitätsgründen zu überlagernden Methoden eingeführt

ueberweisen

public void ueberweisen(Konto k,
                        double betrag)
                 throws KontoException
Überweist vom Konto auf ein anderes Konto. Überweist vom Konto auf das in der Parameterliste angegebene Konto den angegebenen Betrag. Dabei wird der Betrag vom Konto abgebucht und zum übergebenen Konto dazugebucht

Parameters:
k - jenes Konto auf welches überwiesen wird
betrag - der überwiesen wird
Throws:
KontoException - wird ausgelöst, wenn der zu überweisende Betrag negativ ist oder wenn kein Konto übergeben wurde

toString

public java.lang.String toString()
Ausgabe der Kontodaten. Es wird die Kontonummer, der Kontostand, der Zinssatz und die Zinsen des Kontos ausgegeben

Overrides:
toString in class java.lang.Object
Returns:
die Stringentsprechung des Kontos