Vererbung

Pure

Neues Mitglied
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
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:
Was nicht geht ist BA = new AA() und BB = new AB(), weil AA und AB in der Vererbungshierarchie höher stehen, als BA und BB, und somit weniger Attribute enthalten können, als diese.
 

Zurück
Oben