- Mitglied seit
- 08.03.2004
- Beiträge
- 1.574
- Reaktionen
- 0
Meine Frage gleich vorweg, falls die auch ohne direktes Beispiel beantwortet werden kann. Wenn ich mit super in einer erbenden Klasse von der Mutterklasse einen Konstruktor aufrufe in dem eine Muttermethode this.buchen(float Betrag) verwendet wird, darf ich dann davon ausgehen, dass this erst zur Laufzeit aufgelöst wird, also die buchen(float Betrag) aus der erbenden Klasse verwendet wird?
Ok. Hier noch ein paar nähere Erläuterungen:
Ich habe eine Klasse Konto und eine Klasse Sparkonto, welche direkt von Konto erbt.
in Konto sieht die Methode buchen() so aus:
in Sparkonto dagegen so (Cheffe hat festgelegt, dass Sparkonten keine Kredite vergeben):
In Konto gibt es neben einem Standardkonstruktor folgenden:
In Sparkonto soll nun ein Konstruktor erzeugt werden, der das Gleiche macht wie der 2. Konto-Konstruktor, allerdings soll dabei natürlich die gleiche Bedingung beachtet werden, wie in der Buchenmethode vom Sparkonto.
wenn ich das jetzt einfach wie folgt mache:
wird dann die Buchenmethode von Konto, oder die von Sparkonto verwendet und wenn möglich warum?
Danke im Voraus!
Ok. Hier noch ein paar nähere Erläuterungen:
Ich habe eine Klasse Konto und eine Klasse Sparkonto, welche direkt von Konto erbt.
in Konto sieht die Methode buchen() so aus:
Code:
public void buchen ( float Betrag) {
this.Kontostand += Betrag;
}
in Sparkonto dagegen so (Cheffe hat festgelegt, dass Sparkonten keine Kredite vergeben):
Code:
public void buchen(float Betrag) {
if ( (this.getKontostand() + Betrag) >= 0) {
super.buchen(Betrag);
}
}
In Konto gibt es neben einem Standardkonstruktor folgenden:
Code:
public Konto(int Kontonr, float Kontostand){
this();
this.Kontonr = Kontonr;
this.buchen(Kontostand);
}
In Sparkonto soll nun ein Konstruktor erzeugt werden, der das Gleiche macht wie der 2. Konto-Konstruktor, allerdings soll dabei natürlich die gleiche Bedingung beachtet werden, wie in der Buchenmethode vom Sparkonto.
wenn ich das jetzt einfach wie folgt mache:
Code:
public Sparkonto(int Kontonr, float Betrag) {
super(Kontonr, Betrag);
}
wird dann die Buchenmethode von Konto, oder die von Sparkonto verwendet und wenn möglich warum?
Danke im Voraus!
