Als nächstes hätte ich eine Frage. Ich soll eine eine Klasse Konto erstellen, die in
einfacher Weise ein Bankkonto beschreibt. Das habe ich auch gemacht mit zwei Klassen:
Hier die Klasse Konto
|
Code:
|
public class Konto {
// Instanzvariable
private double kontostand;
// Konstruktor
public Konto(double stand_neu) {
kontostand = stand_neu;
}
// Kontostand abfragen
public double getKontostand() {
return kontostand;
}
// Geldbetrag auf das Konto einzahlen
public void einzahlen(double betrag) {
kontostand = kontostand + betrag;
}
// Geldbetrag vom Konto abheben
public void abheben(double betrag) {
kontostand = kontostand - betrag;
}
}
|
Hier die Klasse KontoTester
|
Code:
|
public class KontoTester {
public static void main(String[] args) {
Konto einKonto;
// Konto anlegen
einKonto = new Konto(500.00);
System.out.println("Erster Kontostand: " + einKonto.getKontostand());
// Vom Konto abheben
einKonto.abheben(150.00);
System.out.println("Kontostand nach abheben von 150.00: "
+ einKonto.getKontostand());
// Auf Konto einzahlen
einKonto.einzahlen(11.23);
System.out.println("Kontostand nach einzahlen von 11.23: "
+ einKonto.getKontostand());
// Vom Konto abheben
einKonto.abheben(400.00);
System.out.println("Kontostand nach abheben von 400.00: "
+ einKonto.getKontostand());
// Auf Konto einzahlen
einKonto.einzahlen(222.50);
System.out.println("Kontostand nach einzahlen von 222.50: "
+ einKonto.getKontostand());
// Vom Konto abheben
einKonto.abheben(47.62);
System.out.println("Kontostand nach abheben von 47.62: "
+ einKonto.getKontostand());
}
}
|
Jetzt möchte ich folgendes hinzufügen:
- Ein Konto erhält als zusätzliche Eigenschaft eine Kontonummer, die als Wert
vom Typ long gespeichert wird. Die Kontonummer kann nur bei der Erzeugung
eines Konto-Objekts gesetzt werden. Danach soll sie nur noch abgefragt, aber
nicht mehr geändert werden können.
- Die Methode abheben() wird so geändert, dass nur noch Abhebungen möglich
sind, die durch Guthaben gedeckt sind. Die Methode soll einen Wahrheitswert
zurückgeben, der angibt, ob die Abhebung durchgeführt wurde. Wird versucht,
einen Betrag abzuheben, der größer als der Kontostand ist, so soll der
Kontostand unverändert bleiben und der Wert false zurückgegeben werden.
Anderenfalls soll die Abhebung ausgeführt und der Wert true zurückgegeben
werden.
- Die Klasse KontoTester will ich so abändern, das das erzeugte Konto die Kontonummer
12345678 erhalten soll. Am Ende der Methode main() soll die Kontonummer abgefragt
und ausgegeben werden. Bei jeder einzelnen Abhebung soll getestet werden, ob sie
erfolgreich war. Nur, wenn eine Abhebung ausgeführt werden konnte, soll der neue
Kontostand ausgegeben werden, anderenfalls soll jeweils die Meldung „Guthaben
nicht ausreichend.“ ausgegeben werden.
Die Eigenschaft Kontonummer ist ja einfach hinzugefügt. Nur wie kann ich die Kontonummer nur bei der Erzeugung eines Konto-Objekts gesetzt werden und nur noch abfragen, aber nicht mehr ändern?