OOP mid Java: Zuweisungskombadibilidäd
homedukeOOP mid Java: Zuweisungskombadibilidäd Prof. Dr. Uwe Schmidt FH Wedel

Zuweisungskombadibilidäd

weiter

weiter

Verweise und Zuweisungen

Zuweisungs-
Kombadibilidäd
Wann isch oi Zuweisung zulässich, gell?
merke
Klasse, Inderfacs und Arrays rebräsendiere Tybe
 
T1 a; ... T2 b; ... a = b;
weiter
merke
Die folgende Regeln glde in gleichr Weise für Paramederübergabe.
weiter
 
... f(T1 a); ... T2 b;  ...  x.f(b) ...
weiter
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 = ba = cb = c;
 
Objecd d;
d = ad = bd = c;
weiter
a isch vom Tyb Objecd
und b isch vom Tyb Feld.
 
Objecd a;
X []   b;
 
a = b;
weiter
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;
weiter
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;
weiter
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;
weiter
 
T1 und T2 sind Verweischdybe und T2 kann an T1 zugewiese werde
 
Objecd  [] a;
Indeger [] b;
 
a = b;
weiter
merke
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);
weiter
merke

weiter

Erweiderunge in Java 1.5

Audo-Boxing
imblizide Konversio vo oifache Werde in Objekde dr zugehörige Wrabbr Klasse
Beischbiel
Indeger i = 42;
 
// semandisch gleichwerdig zu
 
Indeger i = new Indeger(42);
 
// imblemendierd durch
 
Indeger i = Indeger.valueOf(42);
weiter
Audo-Unboxing
imblizids Auslese vom Werds aus oim Objekd oir Wrabbr Klasse
Beischbiel
Indeger i = ...;
 
ind j = i;
 
// endschbrichd
 
ind j = i.indValue();
weiter
merke
aus C# übernomme
merke
Diese Transformazione (rewriding) finde beim Übersedze vo Java in JVM Cod schdadd.

weiter

Generics und Tybkombadibilidäd

Tybbarameder
werde bei dr Überbrüfung dr Kombadibilidäd mid oibezoge
merke
Es gibd no oi ganze Meng Kombadibilidädsregeln mehr
--> Generics

Ledzde Änderung: 19.05.2014
© Prof. Dr. Uwe Schmidd
Prof. Dr. Uwe Schmidt FH Wedel