Vererbung Konto - Anfangsprobleme

Yakamari

Mitglied
Guten morgen,

ich soll zu einer bereits geschriebenen Klasse Konto mittels Vererbung eine weitere Kontoklasse Girokonto erstellen.
Die Klasse Girokonto soll die Attribute
  • static double gebuehr (Gebühren pro Buchung)
  • int anzahlBuchungen (zählt alle Ein- und Auszahlungen und Überweisungen)
  • double dispoLimit
und die Methode
  • protected double gebuehren() (soll gebuehr von Kontostand abziehen, danach anzahlBuchungen wieder auf 0 setzen)
haben.

Soweit so gut. Die Kontoklasse habe ich schon getestet und sie funktioniert einwandfrei. Dabei stehen mir in der Kontoklasse die Methoden einzahlen(), auszahlen(), überweisen() und ausgabe() (gibt name, kontonr und kontostand aus) zur Verfügung. Desweiteren habe ich die privaten Attribute
Code:
     private int Kontonummer;
    private String InhaberIn;
    private double Kontostand;

Habe nun in der Kontoklasse noch getter bzw. setter eingefügt, sodass ich auch vom Girokonto die privaten Attribute abfragen kann.

Jetzt fehlt mir aber der weitere Ansatz. Ich möchte die Methode protected double gebuehren() programmieren. Nun fehlt mir allerdings der Ansatz. Wie kann ich innerhalb der Klasse Girokonto die Aufrufe von einzahlen(), auszahlen() und überweisen() innerhalb der Klasse Konto zählen?

Möchte hier auf keinen Fall eine fertige Lösung, ich stehe nur dermaßen auf dem Schlauch, dass ich ein Stoß in die richtige Richtung brauche :)

Vielen Dank :)
 

TM69

Bekanntes Mitglied
Wenn ich dich richtig verstanden haben (so früh am Morgen):D:D:D:D
Indem du ein weiteres Attribut nimmst und dieses jeweils in der Funktion hochzählst also in der Form

Code:
class Konto {
    protected int kontobewegungen = 0;
   
    public void einzahlen(double betrag) {
            this.kontobewegungen++;
            ....
    }
   
    public void auszahlen(double betrag) {
            this.kontobewegungen++;
            ....
    }
   
    protected int AnzahlKontobewegungen() {
        return this.kontobewegungen;
    }
}

bzw. wenn du die getrennt zählen sollst, dann halt für einzahlen(), auszahlen(), gebühren() jeweils eine eigenes Attribut.
 

LimDul

Top Contributor
Wenn ich dich richtig verstanden haben (so früh am Morgen):D:D:D:D
Indem du ein weiteres Attribut nimmst und dieses jeweils in der Funktion hochzählst also in der Form

Code:
class Konto {
    protected int kontobewegungen = 0;
   
    public void einzahlen(double betrag) {
            this.kontobewegungen++;
            ....
    }
   
    public void auszahlen(double betrag) {
            this.kontobewegungen++;
            ....
    }
   
    protected int AnzahlKontobewegungen() {
        return this.kontobewegungen;
    }
}

bzw. wenn du die getrennt zählen sollst, dann halt für einzahlen(), auszahlen(), gebühren() jeweils eine eigenes Attribut.
Ja, allerdings soll das nicht in der Klasse Konto passieren, sondern in der Klasse GiroKonto.

Also so:

Java:
public class GiroKonto extends Konto
private int kontobewegungen = 0;

@Override
public einzahlen(double betrag) {
super.einzahlen(betrag);
kontobewegungen++;
}
// usw.
 

Yakamari

Mitglied
Vielen Dank, das override war das was mir gefehlt hat. Jetzt funktioniert alles so wie es soll :)

Eine Frage habe ich noch.

Ich habe in der Konto Klasse das Attribut
Java:
private double Kontostand
.

Gibt es allgemein eine Möglichkeit um aus der Girokontoklasse darauf zuzugreifen und den Kontostand weiter zu verwenden, ohne dass ich den Kontostand von private zu protected umstellen muss?

Mit den gettern/settern funktioniert das ja soweit, dass ich in der Girokontoklasse die Methode getKontostand() bzw setKontostand() verwenden kann. Aber damit kann ich ja nicht einfach so weiterarbeiten,also irgendeine if-Abfrage in der Richtung if(Kontostand...) {tu irgendetwas; } oder gibt's dafür garkeine Möglichkeit?
 
K

kneitzel

Gast
Also bei der Vererbung musst Du wissen, was Du willst.
Generell sollten Implementationsdetails gekapselt sein, d.h. die sind nicht sichtbar.

Aber Du hast es schon richtig geschrieben:
Du kannst frei entscheiden, ob der Zugriff erwünscht ist oder nicht. Ist er nicht erwünscht, dann bleibt es beim private. Ansonsten wäre protected eine mögliche Wahl.

Aber was Sinn macht und was nicht, musst Du entscheiden. Das hängt von Deinem Design ab.

Aber Du hast doch selbst die Getter/Setter erwähnt. Und natürlich kannst Du die auch im Code verwenden:
if(getKontostand()....) ....
 

Yakamari

Mitglied
hm...dann muss das an mir liegen, bekomme nämlich immer eine Fehlermeldung "getKontostand cannot be resolved to a variable" aber ich habe auch noch viele codeschnipsel drin, die keine Funktion haben, vlt stört da irgendetwas.
Werde meinen Code mal etwas aufräumen und mich dann nochmal melden


lag tatsächlich an mir, habe vergessen dem Programm zu sagen, auf welchen Kontostand es überhaupt zugreifen soll. Kein Wunder hat es nicht funktioniert, jetzt klappt es. Danke für die Hilfe :)
 
Zuletzt bearbeitet:
K

kneitzel

Gast
Das ist natürlich keine Variable sondern eine Methode. Also die () nicht vergessen! Und dieser Getter muss natürlich existieren und public oder protected sein.
 

mihe7

Top Contributor
Vielen Dank, das override war das was mir gefehlt hat. Jetzt funktioniert alles so wie es soll :)
Nur nebenbei: die Annotation @Override hat überhaupt keine Auswirkung auf die Funktion. Das ist zur Qualitätssicherung gedacht. Du erhältst beim Übersetzen einen Fehler, falls die annotierte Methode keine andere Methode überschreibt, z. B. weil Du einen Parameter geändert oder Du Dich irgendwo vertippt hast.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
M Vererbung - Polymorphie Java Basics - Anfänger-Themen 37
L Java- Vererbung Java Basics - Anfänger-Themen 4
ineedhelpinjava Vererbung Java Basics - Anfänger-Themen 12
ineedhelpinjava Vererbung Java Basics - Anfänger-Themen 1
I JSON / XML Struktur mit Vererbung / Interfaces Java Basics - Anfänger-Themen 0
M Interface oder Vererbung? Java Basics - Anfänger-Themen 12
M Vererbung Java Basics - Anfänger-Themen 6
M Designentscheidung von Attributen/Methoden im Falle von Vererbung Java Basics - Anfänger-Themen 8
M Generics Vererbung Listen Java Basics - Anfänger-Themen 2
A Methoden Vererbung und Interface Java Basics - Anfänger-Themen 14
D Klassen und Vererbung Java Basics - Anfänger-Themen 2
U Vererbung Java Basics - Anfänger-Themen 7
D Vererbung Java Basics - Anfänger-Themen 3
K Schleife berechnet kein Ergebnis (Vererbung) Java Basics - Anfänger-Themen 6
00111010101 Objektorientiertes Programmieren mit Vererbung (Zahlen in Array verschwinden) Java Basics - Anfänger-Themen 3
W Zur Vererbung: Wann und wie? Java Basics - Anfänger-Themen 35
H Datenkapselung, Vererbung und UML Java Basics - Anfänger-Themen 16
districon Super-Stichwort/ Vererbung Java Basics - Anfänger-Themen 3
YaU Vererbung erstellt NullPointerException? Java Basics - Anfänger-Themen 4
1 Vererbung Klassenattribute Java Basics - Anfänger-Themen 9
TimoN11 Frage zu Java-Vererbung (Cast) Java Basics - Anfänger-Themen 5
N Thema Vererbung Java Basics - Anfänger-Themen 31
A Vererbung Vererbung Übung Java Basics - Anfänger-Themen 5
B Vererbung - Sichtbarkeitsmodifikation - protected Java Basics - Anfänger-Themen 10
B Best Practice Unschlüssig ob Vererbung oder Interface Java Basics - Anfänger-Themen 2
G Java Vererbung Java Basics - Anfänger-Themen 8
A Vererbung Klassen im Bezug auf Auto´s Java Basics - Anfänger-Themen 18
A Klassen Vererbung und zusätzliche Unterklassen Java Basics - Anfänger-Themen 23
M Vererbung mit Enums Java Basics - Anfänger-Themen 8
Kirby.exe Vererbung im Detail erklärt? Java Basics - Anfänger-Themen 9
N Modellierung, vererbung, Java Basics - Anfänger-Themen 163
M Fehlendes Verständnis für dynamische Bindung und Vererbung Java Basics - Anfänger-Themen 13
W OOP Vererbung im Computerspiel Java Basics - Anfänger-Themen 7
J Probleme mit Vererbung Java Basics - Anfänger-Themen 4
I Vererbung Java Basics - Anfänger-Themen 13
W OOP Vererbung und Problem bei Zählschleife in einer Methode Java Basics - Anfänger-Themen 10
W Methoden Verständnisfrage Vererbung von Methoden Java Basics - Anfänger-Themen 14
V Vererbung Java Basics - Anfänger-Themen 2
J Frage zur Vererbung Java Basics - Anfänger-Themen 1
J Vererbung Java Basics - Anfänger-Themen 3
U Was löst meine NullPointerException aus? (Vererbung) Java Basics - Anfänger-Themen 12
O Vererbung Ueben mit kleiner Datenstruktur von Räumen Java Basics - Anfänger-Themen 10
O Umgang mit Vererbung verstehen Java Basics - Anfänger-Themen 4
A Vererbung/Interfaces/Generics Java Basics - Anfänger-Themen 12
O Vererbung änderung des Konstruktors Java Basics - Anfänger-Themen 8
L Vererbung Java Basics - Anfänger-Themen 5
E HashMap+Vererbung Java Basics - Anfänger-Themen 11
E Vererbung super-Methoden Aufruf Java Basics - Anfänger-Themen 3
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
A Objekterstellung bei der Vererbung Java Basics - Anfänger-Themen 7
P Vererbung Warum funktioniert die Vererbung hier nicht Java Basics - Anfänger-Themen 14
S Vererbung Java mehrfach Java Basics - Anfänger-Themen 10
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
A Klassen Vererbung privater Methoden und Member Java Basics - Anfänger-Themen 12
A Konstruktoren Vererbung Java Basics - Anfänger-Themen 3
ReinerCoder Vererbung von JFrame in einer Klasse entfernen Java Basics - Anfänger-Themen 5
W Vererbung, abstract und Konstruktoren Java Basics - Anfänger-Themen 30
J Vererbung und Methodenaufruf Java Basics - Anfänger-Themen 11
G Polymorphie, Vererbung, statischer Typ, Laufzeittyp Java Basics - Anfänger-Themen 2
H Vererbung mit private instanzvariablen Java Basics - Anfänger-Themen 9
S Vererbung Funktionsweise Code zur Vererbung Java Basics - Anfänger-Themen 1
C Methoden Vererbung private Attribute/public Methoden Java Basics - Anfänger-Themen 4
S Verständnis Vererbung Java Basics - Anfänger-Themen 3
D JavaFX Vererbung Java Basics - Anfänger-Themen 2
U Vererbung Generizität und Vererbung Java Basics - Anfänger-Themen 4
A Vererbung bei Klassen mit Objekt der Klasse im Konstruktor Java Basics - Anfänger-Themen 4
K Vererbung Octagon von Circle Java Basics - Anfänger-Themen 0
B Hilfe bei Vererbung Java Basics - Anfänger-Themen 2
D Vererbung Frage zum Klassenaufbau mit Vererbung Java Basics - Anfänger-Themen 1
T Vererbung und interface. Java Basics - Anfänger-Themen 1
S Gehaltsberechnung (Vererbung, abstrakte Methoden) Java Basics - Anfänger-Themen 6
S Vererbung Java Basics - Anfänger-Themen 1
F Vererbung in zwei Richtungen? Java Basics - Anfänger-Themen 14
D Vererbung / Polymorphie Java Basics - Anfänger-Themen 5
O Vererbung Java Basics - Anfänger-Themen 5
MiMa Vererbung Theorie OK, Praxis ?? Java Basics - Anfänger-Themen 4
Arif Vererbung Vererbung Variablen überschreiben Java Basics - Anfänger-Themen 1
C Vererbung - Ausgaben bestimmen Java Basics - Anfänger-Themen 6
S Vererbung Java Basics - Anfänger-Themen 10
L Setter und Getter/Vererbung Java Basics - Anfänger-Themen 6
C Konstruktoren und Vererbung Java Basics - Anfänger-Themen 2
J Kleinere Frage zur Vererbung/Objekterzeugung Java Basics - Anfänger-Themen 2
G Vererbung Java Basics - Anfänger-Themen 12
J Vererbung privater Variablen Java Basics - Anfänger-Themen 7
J Vererbung Vererbung von Methoden Java Basics - Anfänger-Themen 6
B Vererbung Java Basics - Anfänger-Themen 12
K Vererbung (super) Java Basics - Anfänger-Themen 2
A ArrayQueue mit Exceptions und Vererbung Java Basics - Anfänger-Themen 3
J Java: static bei Vererbung Java Basics - Anfänger-Themen 5
C Vererbung Java Basics - Anfänger-Themen 4
L Vererbung Java Basics - Anfänger-Themen 3
J Klassenorganisation | Vererbung Java Basics - Anfänger-Themen 1
B Vererbung Vererbung Java Basics - Anfänger-Themen 2
N Generics Vererbung Wildcard Interface Java Basics - Anfänger-Themen 8
A Benötige Hilfe bei Vererbung Java Basics - Anfänger-Themen 1
M Anfängerprobleme mit Vererbung Java Basics - Anfänger-Themen 27
J Vererbung Java Basics - Anfänger-Themen 9
F Vererbung von Attributen zwischen zwei Klassen Java Basics - Anfänger-Themen 6
J Konstruktor Problem bei Vererbung Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben