Guten Morgen liebe Leute,
ich bin derzeit dabei mir Java mit Hilfe von "Jetzt lerner ich Java 6" von "Markt und Techik" beizubringen.
Nun möchte ich das gelernte etwas festigen indem ich kleinere Programme schreibe. Nur leider mit der Vererbung bzw. der Überschreibung von Methoden klappt es nicht so ganz:
Mein Problem ist nun, dass ich die überschreibende Methode zusammenZaehlen(), aus der abgeleiteten Klasse nicht nutzen kann. Sprich: Die Feldvariable m_summe ändert sich in der Instanz ZweiterGrad nicht.
Könnt ihr mir da weiterhelfen?
ich bin derzeit dabei mir Java mit Hilfe von "Jetzt lerner ich Java 6" von "Markt und Techik" beizubringen.
Nun möchte ich das gelernte etwas festigen indem ich kleinere Programme schreibe. Nur leider mit der Vererbung bzw. der Überschreibung von Methoden klappt es nicht so ganz:
Java:
//Basisklasse
class Vererbung{
int m_eins;
int m_zwei;
int m_drei;
int m_summe;
Vererbung(int eins, int zwei, int drei){
m_eins = eins;
m_zwei = zwei;
m_drei = drei;
m_summe = zusammenZaehlen();
}
int zusammenZaehlen(){
int m_summe = m_eins + m_zwei + m_drei;
return m_summe;
}
void ausgeben(){
System.out.println("\nm_eins\t = " + m_eins);
System.out.println("m_zwei\t = " + m_zwei);
System.out.println("m_drei\t = " + m_drei);
System.out.println("m_summe\t = " + m_summe);
}
}
//abgeleitete Klasse
class WeiterVererbung extends Vererbung{
WeiterVererbung(int eins, int zwei, int drei){
super(eins, zwei, drei);
m_summe = zusammenZaehlen();
}
//Überschreibende Methode
int zusammenZaehlen(){
int m_Summe = m_eins + m_zwei + m_drei * 2;
return m_summe;
}
}
public class VererbungPub{
public static void main(String[] args){
//Aufruf Basisklasse
Vererbung ErsterGrad = new Vererbung(1,2,3);
ErsterGrad.zusammenZaehlen();
ErsterGrad.ausgeben();
//Aufruf abgeleitete Klasse
WeiterVererbung ZweiterGrad = new WeiterVererbung(4,5,6);
ZweiterGrad.zusammenZaehlen();
ZweiterGrad.ausgeben();
}
}
Mein Problem ist nun, dass ich die überschreibende Methode zusammenZaehlen(), aus der abgeleiteten Klasse nicht nutzen kann. Sprich: Die Feldvariable m_summe ändert sich in der Instanz ZweiterGrad nicht.
Könnt ihr mir da weiterhelfen?
Zuletzt bearbeitet: