Mir ist gerade etwas eingefallen, worüber ich mir bisher noch keine großartigen Gedanken gemacht habe:
Wie verhält es sich eigentlich bei der Vererbung mit den Konstruktoren?
Werden die mitvererbt, sodass ich ein Unterklassenobjekt mit dem Konstruktor (den es in der Oberklasse schon gibt) erzeugen kann.
Interessant wenn ich dynamisch Binde, denke ich... :
Oberklasse A
Unterklasse B
A a = new B();
Angenommen in A gibt es einen Konstruktor A(int x), wie wirkt sich das dann auf B aus?
A a = new A(5);
A a = new B(... ?
und warum ist es so wie es ist?
Was ich bereits selbst ausprobiert habe, ist einen parameterlosen Konstruktor für A zu erstellen der einigen Feldern einen Wert zuweist, dies wird dann auch bei der Erzeugung eines Unterklassenobjekts (B) durchgeführt...
Oder, anderer Fall:
Wenn ich in der Unterklasse Konstruktoren erstelle, dürfte das doch egal sein, denn es wird ja nur das Objekt initialisiert (also die Werte), aber es ist ja trotzdem eine Instanz von A - obwohl man kein A-Objekt mit einem solchen Konstuktor erzeugen kann.... das dürfte also nicht so eng sein...
Das Ganze ist also so ne Art Frundsatzfrage: Wie lauten die Regeln, und warum ist das so mit den Konstruktoren?
Wie verhält es sich eigentlich bei der Vererbung mit den Konstruktoren?
Werden die mitvererbt, sodass ich ein Unterklassenobjekt mit dem Konstruktor (den es in der Oberklasse schon gibt) erzeugen kann.
Interessant wenn ich dynamisch Binde, denke ich... :
Oberklasse A
Unterklasse B
A a = new B();
Angenommen in A gibt es einen Konstruktor A(int x), wie wirkt sich das dann auf B aus?
A a = new A(5);
A a = new B(... ?
und warum ist es so wie es ist?
Was ich bereits selbst ausprobiert habe, ist einen parameterlosen Konstruktor für A zu erstellen der einigen Feldern einen Wert zuweist, dies wird dann auch bei der Erzeugung eines Unterklassenobjekts (B) durchgeführt...
Oder, anderer Fall:
Wenn ich in der Unterklasse Konstruktoren erstelle, dürfte das doch egal sein, denn es wird ja nur das Objekt initialisiert (also die Werte), aber es ist ja trotzdem eine Instanz von A - obwohl man kein A-Objekt mit einem solchen Konstuktor erzeugen kann.... das dürfte also nicht so eng sein...
Das Ganze ist also so ne Art Frundsatzfrage: Wie lauten die Regeln, und warum ist das so mit den Konstruktoren?