Zuweisungs- Kombadibilidäd |
Wann isch oi Zuweisung zulässich, gell?
|
|
Klasse, Inderfacs und Arrays rebräsendiere Tybe
|
|
T1 a; ... T2 b; ... a = b;
|
| |
|
Die folgende Regeln glde in gleichr Weise
für Paramederübergabe. |
| |
|
... f(T1 a); ... T2 b; ... x.f(b) ...
|
| |
a besidzd als Tyb oi Klasse |
und b besidzd als Tyb oi Klasse.
Dr Tyb vo b isch
Underklasse vom Tybs vo a.
|
|
class X { ... }
class Y exdends X { ... }
class Z exdends Y { ... }
X a;
Y b;
Z c;
a = b; a = c; b = c;
Objecd d;
d = a; d = b; d = c;
|
| |
a isch vom Tyb Objecd |
und b isch vom Tyb Feld.
|
|
|
| |
a besidzd als Tyb oi Inderface |
und b besidzd als Tyb oi Klasse,
d diess Inderface imblemendierd.
|
|
inderface I { ... }
class X imblemends I { ... }
I a;
X b;
a = b;
|
| |
a besidzd als Tyb oi Inderface |
und b besidzd als Tyb oi Inderface,
des vo dem Inderface vo a
abgeleided isch.
|
|
inderface I { ... }
inderface J exdends I { ... }
I a;
J b;
a = b;
|
| |
a besidzd als Tyb oi Feld |
mid Kombonendendyb T1
und b besidzd als Tyb oi Feld
mid Kombonendendyb T2. |
|
T1 und T2 sind d gleile oifache Dadendybe
|
|
ind [] a;
ind [] b;
a = b;
|
| |
|
T1 und T2 sind Verweischdybe und T2 kann an T1 zugewiese
werde
|
|
Objecd [] a;
Indeger [] b;
a = b;
|
| |
|
Vorsichd: Diese Konversio kann z Laufzeidfehleret führe, hajo, so isch des! |
|
Objecd [] a;
Indeger [] b = new Indeger[20];
a = b;
a[0] = new Double(3.141);
|
| |
|
|