net.gobbz.kontoverwaltung
Class Gehaltskonto

java.lang.Object
  extended by net.gobbz.kontoverwaltung.Konto
      extended by net.gobbz.kontoverwaltung.Gehaltskonto

public class Gehaltskonto
extends Konto

Die Klasse GehaltsKonto hat zum Unterschied zu einem normalen Konto einen Überziehungsrahmen, welcher beim Buchen nicht unterschritten werden darf. Ein Startüberziehungsrahmen kann für alle anzulegenden Gehaltskonten vorab eingestellt werden


Field Summary
protected static double startueberziehung
          Legt den Startüberziehungsrahmen für alle neu anzulegenden Gehaltskonten fest
protected  double ueberziehung
          Der Überziehungsrahmen des Gehaltskontos
 
Fields inherited from class net.gobbz.kontoverwaltung.Konto
kontonummer, kontostand, naechsteKontonummer, startzinssatz, zinssatz
 
Constructor Summary
Gehaltskonto()
          Konstruktor, welcher beim Anlegen des Gehaltskontos den Überziehungsrahmen automatisch vergibt.
 
Method Summary
 void buchen(double betrag)
          Bucht unter Berücksichtigung des Überziehungsrahmens.
 double getSpesen()
          Ermittelt die Spesen des Gehaltskonto.
static double getStartueberziehung()
          Gibt den Überziehungsrahmen zurück, der für alle neu zu erstellenden Konten verwendet wird
 double getUeberziehung()
          Liefert den Überziehungsrahmen des Kontos zurück
 double getZinsen()
          Rechnet vom heutigen Datum bis zum Jahresende die Zinsen des Kontos aus, aber nur dann wenn der Kontostand positiv ist.
static void setStartueberziehung(double startueberziehung)
          Setzt den Startüberziehungsrahmen für alle neu anzulegenden Gehaltskonten
 void setUeberziehung(double ueberziehung)
          Setzt für das Konto den Überziehungsrahmen.
 java.lang.String toString()
          Ausgabe der Kontodaten.
 
Methods inherited from class net.gobbz.kontoverwaltung.Konto
getKontoNummer, getKontostand, getStartzinssatz, getZinssatz, setStartzinssatz, setZinssatz, ueberweisen
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

startueberziehung

protected static double startueberziehung
Legt den Startüberziehungsrahmen für alle neu anzulegenden Gehaltskonten fest


ueberziehung

protected double ueberziehung
Der Überziehungsrahmen des Gehaltskontos

Constructor Detail

Gehaltskonto

public Gehaltskonto()
Konstruktor, welcher beim Anlegen des Gehaltskontos den Überziehungsrahmen automatisch vergibt. Beim Anlegen des Gehaltskontos wird automatisch der Überziehungsrahmen, welcher durch setStartueberziehung gesetzt wurde, für das Gehaltskonto eingestellt

Method Detail

setStartueberziehung

public static void setStartueberziehung(double startueberziehung)
                                 throws KontoException
Setzt den Startüberziehungsrahmen für alle neu anzulegenden Gehaltskonten

Parameters:
startueberziehung - der zu setzen ist
Throws:
KontoException - falls der Überziehungsrahmen größer als Null ist

getStartueberziehung

public static double getStartueberziehung()
Gibt den Überziehungsrahmen zurück, der für alle neu zu erstellenden Konten verwendet wird

Returns:
den Startüberziehungsrahmen für alle neu anzulegenden Konten

setUeberziehung

public void setUeberziehung(double ueberziehung)
                     throws KontoException
Setzt für das Konto den Überziehungsrahmen. Der Überziehungsrahmen darf nicht positiv sein

Parameters:
ueberziehung - darf nicht größer als Null sein
Throws:
KontoException - falls der einzustellende Überziehungsrahmen größer als Null ist

getUeberziehung

public double getUeberziehung()
Liefert den Überziehungsrahmen des Kontos zurück

Returns:
den Überziehungsrahmen des Kontos

getZinsen

public double getZinsen()
Rechnet vom heutigen Datum bis zum Jahresende die Zinsen des Kontos aus, aber nur dann wenn der Kontostand positiv ist. Ansonsten sind die Zinsen 0.
Befindet man sich z. B. genau in der Mitte des Jahres (30.6.) dann werden zinnsatz/2 Zinsen berechnet

Specified by:
getZinsen in class Konto
Returns:
die angefallenen Zinsen von heute bis zum Jahresende

getSpesen

public double getSpesen()
Ermittelt die Spesen des Gehaltskonto. Diese sind 50, wenn das Gehaltskonto einen negativen Kontostand ausweist, ansonsten sind diese 0

Specified by:
getSpesen in class Konto
Returns:
die Spesen des Gehaltskontos

buchen

public void buchen(double betrag)
            throws KontoException
Bucht unter Berücksichtigung des Überziehungsrahmens. Wenn eine Buchung den Überziehungsrahmen des Gehaltskontos sprengt, wird ein KontoException ausgelöst

Specified by:
buchen in class Konto
Parameters:
betrag - der zu verbuchende Betrag
Throws:
KontoException - wenn der Überziehungsrahmen gesprengt wird

toString

public java.lang.String toString()
Ausgabe der Kontodaten. Es wird zusätzlich noch die eingstellte Überziehung ausgegeben

Overrides:
toString in class Konto
Returns:
die Gehaltskontendaten