42 lines
1.3 KiB
Java
42 lines
1.3 KiB
Java
package UE01_030924_Wiederholung;
|
|
|
|
public class Girokonto extends Konto {
|
|
String name = "undefined";
|
|
|
|
public Girokonto(String name, double betrag, double zinssatz) {
|
|
super(betrag, zinssatz, "Girokonto");
|
|
if (name != null) this.name = name;
|
|
}
|
|
|
|
public Girokonto(String name, double zinssatz) {
|
|
super(zinssatz, "Girokonto");
|
|
this.name = name;
|
|
}
|
|
|
|
public double einzahlung(double betrag) {
|
|
if (betrag < 0) return 0;
|
|
this.kontostand += betrag;
|
|
this.buchungsvorgaenge.add("Einzahlung: " + betrag);
|
|
return betrag;
|
|
}
|
|
|
|
public boolean auszahlung(double betrag) {
|
|
if (this.kontostand - betrag < 0) return false;
|
|
this.kontostand -= betrag;
|
|
this.buchungsvorgaenge.add("Auszahlung: " + betrag);
|
|
return true;
|
|
}
|
|
|
|
public double ueberweisung(Konto empfaenger, double betrag) {
|
|
if (betrag < 0 || !auszahlung(betrag)) return 0;
|
|
empfaenger.einzahlung(betrag);
|
|
this.buchungsvorgaenge.add("Überweisung an " + kontonummer(empfaenger.kontonummer) + ": " + betrag);
|
|
return betrag;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return kontonummer(this.kontonummer) + " - " + this.kontoTyp + " von " + this.name + ": Zinssatz: " + this.zinssatz + "%, Kontostand: " + this.kontostand;
|
|
}
|
|
}
|