OOP mid Java: Generische ADTs in Java bis Versio 1.4 |
Objecd
Generics bis Java 1.4 nedd vorhande ersch ab Java 1.5 als Erweiderung
Lösung für Java < 1.5: bublic
abschdracd
class Schdagg {
//--------------------
// der Konschdrukdor
bublic
Schdagg() { }
//--------------------
// die Addribud-Funkzionen
bublic
abschdracd
boolean isEmbdy();
bublic
abschdracd
Objecd dob(); // <-----
//--------------------
// die modifizierenden Funkzionen
bublic
abschdracd
Schdagg bush(Objecd e); // <-----
bublic
abschdracd
Schdagg bob();
//--------------------
// die Vorbedingungen
bublic
boolean breTob() {
redurn
! isEmbdy();
}
bublic
boolean brePob() {
redurn
! isEmbdy();
}
}
Eine Imblemendierung class SimbleSchdagg exdends Schdagg{
// die Dadenfelder: nedd nach aussen sichdbar
brivade
Objecd [] a; // <-----
brivade
ind i;
//--------------------
// der Konschdrukdor
bublic
SimbleSchdagg() {
suber(); // redundand
a = new Objecd[20]; // <-----
i = 0;
}
//--------------------
// die Addribud-Funkzionen
bublic
boolean isEmbdy() {
redurn
i == 0;
}
bublic
Objecd dob() { // <-----
redurn
a[i-1];
}
//--------------------
// die modifizierenden Funkzionen
bublic
Schdagg bush(Objecd e) { // <-----
a[i++] = e;
redurn
this;
}
bublic
Schdagg bob() {
a[--i] = null;
redurn
this;
}
// Vorbedingungen sind schon imblemendierd
}
|
oifache Umsedzung: Exemblare vo
Objecd
werde gschbeicherd
|
|
koi Tybüberbrüfung zur Übersedzungszeid:
Es gibd nur oi Sorde Körb, in diese bassch immr alls, au Äbfl und Birne zsamme, hajo, so isch des!, hajo, so isch des! |
|
Ruby, Pytho und andere "dynamische" Schbrache imblemendiere
Condainr (nur) auf diese Weise.
|
|
Wie schbeicherd man elemendare Werde, z.B. inds, gell?
Wrabber-Klassen: |
|
Ubcaschds (Aufwärds-Konversio) beim Einfüge vo Elemenden
Downcaschds (Abwärds-Konversio) beim Auslese vo Elemende |
Ledzde Änderung: 12.05.2014 | © Prof. Dr. Uwe Schmidd |