Guten Tag, ich lerne zurzeit im Selbststudium Java.
Jedoch bin ich beim lernen auf einen Problem gestoßen. Es ist rein ein logisches Problem, wofür ich keine eindeutige Lösung mir einfallen konnte und auch nicht gefunden habe. Es geht schlicht um eine leicht abgeänderte Form einer Methode einer vererbten Klasse.
Es soll folgendes machen:
Es geht um Konten und Unterkonten (Girokonten). Und man soll sowohl einzahlen, allerdings in dem Fall auszahlen.
Durch die Methode "Auszahlen" und nach eingeben des Betrag soll der Limit geprüft werden, ob der gewünschte Betrag zum auszahlen das Limit übersteigt. Wenn nicht, soll der Betrag vom Girokonto abgebucht werden. Wenn nicht, soll eine Fehlermeldung angezeigt werden.
Bevor ich zur eigentliche Frage komme, zeige ich euch einfach mal meinen Code:
main:
Basisklasse "Konto":
Vererbte Klasse "Girokonto":
Mein Problem, was mich nun am meisten beschäftigt, ist jedoch die Methode "auszahlen" von der Unterklasse "Girokonto". Meine Bedenken sind, dass so eine Methode bereits in der "Basisklasse" Konto existiert. Allerdings zum prüfen des Limits, musste ich eine neue Methode erstellen in der Unterklasse Girokonto, da es nicht anders geht. Meine einzige Frage ist: Habe ich es richtig gemacht? Gibt es dazu auch elegantere Lösungswege? Wie würdet ihr das machen? Ich denke nämlich, dass das, was ich gemacht habe, alles andere als "richtig" oder zumindest "elegant" ist.
mfg
Jedoch bin ich beim lernen auf einen Problem gestoßen. Es ist rein ein logisches Problem, wofür ich keine eindeutige Lösung mir einfallen konnte und auch nicht gefunden habe. Es geht schlicht um eine leicht abgeänderte Form einer Methode einer vererbten Klasse.
Es soll folgendes machen:
Es geht um Konten und Unterkonten (Girokonten). Und man soll sowohl einzahlen, allerdings in dem Fall auszahlen.
Durch die Methode "Auszahlen" und nach eingeben des Betrag soll der Limit geprüft werden, ob der gewünschte Betrag zum auszahlen das Limit übersteigt. Wenn nicht, soll der Betrag vom Girokonto abgebucht werden. Wenn nicht, soll eine Fehlermeldung angezeigt werden.
Bevor ich zur eigentliche Frage komme, zeige ich euch einfach mal meinen Code:
main:
Java:
public class main {
public static void main(String[] args) {
double kS = 1500;
String kN = "0000000003";
double kL = 50;
Girokonto gk = new Girokonto(kS, kN, kL);
eingabe = JOptionPane.showInputDialog("Geben Sie Ihren gewünschten Betrag zum abheben ein.");
betrag = Double.parseDouble(eingabe);
gk.auszahlen(betrag);
Basisklasse "Konto":
Java:
public class Konto {
protected double kontoStand;
protected String kontoNummer;
Konto (double kS, String kN)
{
kontoStand = kS;
kontoNummer = kN;
}
void auszahlen(double betrag)
{
kontoStand -= betrag;
}
Vererbte Klasse "Girokonto":
Java:
(...)
public class Girokonto extends Konto {
double limit = 0;
Girokonto ()
{
limit = 500;
}
Girokonto(double kS, String kN, double kL)
{
kontoStand = kS;
kontoNummer = kN;
limit = kL;
}
void auszahlen(double betrag)
{
if(betrag>=limit){
System.out.println("Auszahlung nicht möglich. Ursache: Betrag überschreitet limit.");
} else {
kontoStand -= betrag;
}
}
Mein Problem, was mich nun am meisten beschäftigt, ist jedoch die Methode "auszahlen" von der Unterklasse "Girokonto". Meine Bedenken sind, dass so eine Methode bereits in der "Basisklasse" Konto existiert. Allerdings zum prüfen des Limits, musste ich eine neue Methode erstellen in der Unterklasse Girokonto, da es nicht anders geht. Meine einzige Frage ist: Habe ich es richtig gemacht? Gibt es dazu auch elegantere Lösungswege? Wie würdet ihr das machen? Ich denke nämlich, dass das, was ich gemacht habe, alles andere als "richtig" oder zumindest "elegant" ist.
mfg
Zuletzt bearbeitet: