Gast
#2624594
Hallo,
ich habe folgende Klassen, abstracte Klassen und Interface zur Verfügung
und muss
ein Diagramm zeichnen sowie einige Zuweisungen überprüfen:
interface A { }
abstract class B implements A { }
interface C extends A { }
class D extends B implements C { }
class E extends B { }
class F implements C { }
Das Diagramm habe ich bereits gezeichnet (hoffe es stimmt.)
nun muss ich folgende Zuweisungen als gültig oder ungültig angeben
(handelt sich um static casts):
void c1()
{
D d = new D();
A a = d;
B b = d;
C c = d;
E e = d;
F f = d;
}
void c2()
{
F f = new F();
A a = f;
B b = f;
C c = f;
D d = f;
E e = f;
}
void c3()
{
E e = new E();
A a = e;
B b = e;
C c = e;
D d = e;
F f = e;
}
void c4()
{
B b = new D();
A a = b;
C c = b;
D d = b;
E e = b;
F f = b;
}
void c5()
{
C c = new D();
A a = c;
B b = c;
D d = c;
E e = c;
F f = c;
}
void c6()
{
C c = new F();
A a = c;
B b = c;
D d = c;
E e = c;
F f = c;
}
Man darf ja einer Basisklasse eine Unterklasse zuweisen, wie ist es aber
wenn ich zum
Beispiel C c = new F() habe? darf ich dann z.B A a = c zuweisen?
