Hallo an Alle,
ich habe mal eine Frage. Und zwar soll folgender Code als Grundlage für eine Vererbungs-Aufgabe dienen.
Ich muss leider gestehen, dass ich den Überblick verloren habe und nicht wirklich weiter weiß.
Ansich is das Prinzip simpel:
AA kann man als Urgroßmutter sehen
AB als Großmutter
BA als mutter
BB wäre dann die Tochter.
die werte die die großmutter hat kann auch die mutter bzw tochter haben. aber das was die mutter für werte hat kann niemals dass sein was die (ur)großmutter hat/kann.
Ich verstehe nun leider nicht, welche Zeilen in "C.java" nun nicht "funktionieren". Wie muss man den Quellcode lesen?
A.java
B.java
C.java
AA.java
AB.java
BA.java
BB.java
ich habe mal eine Frage. Und zwar soll folgender Code als Grundlage für eine Vererbungs-Aufgabe dienen.
Ich muss leider gestehen, dass ich den Überblick verloren habe und nicht wirklich weiter weiß.
Ansich is das Prinzip simpel:
AA kann man als Urgroßmutter sehen
AB als Großmutter
BA als mutter
BB wäre dann die Tochter.
die werte die die großmutter hat kann auch die mutter bzw tochter haben. aber das was die mutter für werte hat kann niemals dass sein was die (ur)großmutter hat/kann.
Ich verstehe nun leider nicht, welche Zeilen in "C.java" nun nicht "funktionieren". Wie muss man den Quellcode lesen?
A.java
Java:
public class A
{
private int a;
//
public A(int a) { this.a = a; }
//
public int a() { return a; }
}
B.java
Java:
public class B extends A
{
private int b;
//
public B(int b) { this.b = b; }
//
public int b() { return b; }
}
C.java
Java:
public class C
{
public static void main (String [] nix)
{
AA aa, caa;
AB ab, cab;
BA ba, cba;
BB bb, cbb;
aa = new AA(2);
caa = new BA(10);
ab = new AB(5);
cab = new BB(23);
ba = new AA(7);
cba = new BA(13);
bb = new AB(17);
cbb = new BB(23);
}
}
AA.java
Java:
public class AA
{
private int a;
//
public AA(int a) { this.a = a; }
public AA() { this(0); }
//
public int a() { return a; }
}
AB.java
Java:
public class AB
{
private int a;
//
public AB(int a) { this.a = a; }
//
public int a() { return a; }
}
BA.java
Java:
public class BA extends AA
{
private int b;
//
public BA(int b) { this.b = b; }
//
public int b() { return b; }
}
BB.java
Java:
public class BB extends AB
{
private int b;
//
public BB(int b) { super(b/2); this.b = b; }
//
public int b() { return b; }
}
Zuletzt bearbeitet: