Hallo,
ich bekomme folgendes Problem nicht gelöst:
Und zwar habe ich ein kleines Projekt zum Thema Vererbung gestartet, bei dem es darum geht, zwei Elternteile aufzustellen (Mutter & Vater) mit jeweils individuellen Genen, die sie dann ihrem Kind vererben sollen. Dazu habe ich mehrere Unterklassen erstellen wollen, doch das Problem besteht eben darin, dass der Compiler die Instanzvaribale "Elternteil" nicht erkennt. Ich weiß woran es liegt, kann aber das Problem nicht lösen ... Es kommt immer "null" raus ... Das Problem ist nämlich, dass halt immer die zuletzt gespeicherte Instanzvariable herausgegeben wird, und die ist in der Klasse "Eltern" nun mal "null" - aber wie gesagt, ich will, dass stattdessen "Vater" herausgegeben wird.
Ich weiß sehr wohl, dass ich mir das viel einfacher machen könnte, bspw. indem ich direkt in der Klasse Eltern und dann in der Methode "vererbenVater" die Instanzvariablen definieren könnte. Doch ich will die Vererbung wirklich verstehen, daher noch eine weitere Unterklasse ... Aber anscheinend werden Instanzvariablen nicht vererbt, oder?
ich bekomme folgendes Problem nicht gelöst:
Und zwar habe ich ein kleines Projekt zum Thema Vererbung gestartet, bei dem es darum geht, zwei Elternteile aufzustellen (Mutter & Vater) mit jeweils individuellen Genen, die sie dann ihrem Kind vererben sollen. Dazu habe ich mehrere Unterklassen erstellen wollen, doch das Problem besteht eben darin, dass der Compiler die Instanzvaribale "Elternteil" nicht erkennt. Ich weiß woran es liegt, kann aber das Problem nicht lösen ... Es kommt immer "null" raus ... Das Problem ist nämlich, dass halt immer die zuletzt gespeicherte Instanzvariable herausgegeben wird, und die ist in der Klasse "Eltern" nun mal "null" - aber wie gesagt, ich will, dass stattdessen "Vater" herausgegeben wird.
Ich weiß sehr wohl, dass ich mir das viel einfacher machen könnte, bspw. indem ich direkt in der Klasse Eltern und dann in der Methode "vererbenVater" die Instanzvariablen definieren könnte. Doch ich will die Vererbung wirklich verstehen, daher noch eine weitere Unterklasse ... Aber anscheinend werden Instanzvariablen nicht vererbt, oder?
Java:
public class Vererbungsmonster {
public static void main(String[] args) {
Eltern e = new Eltern();
Vater v = new Vater();
int zufallsZahl = (int) (Math.random() * 2);
if (zufallsZahl <= 2) {
e.vererbenVater();
} // end of if
}
}
Java:
public class Eltern {
String Elternteil;
String Haarfarbe;
String Augenfarbe;
double Größe;
public void vererbenVater() {
System.out.println(Elternteil); // Ich möchte, dass hier "Vater" herausgegeben wird!
}
public void vererbenMutter() {
}
}
Java:
public class Vater {
public static void main(String[] args) {
String Elternteil;
String Haarfarbe;
String Augenfarbe;
double Größe;
Elternteil = "Vater";
Haarfarbe = "Schwarz";
Augenfarbe = "Braun";
Größe = 1.82;
}
}