Informatik 1 - Mitschriften von Klaas Ole Kürtz
Informatik 1 - Mitschriften von Klaas Ole Kürtz
Informatik 1 - Mitschriften von Klaas Ole Kürtz
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
(if (eq? t1 t2)<br />
(let ((proz (get t1 op)))<br />
(if (not (null? proz))<br />
(proz (inhalt a1)<br />
(inhalt a2))<br />
(error "Operator n. definiert")))<br />
(let ((t1->t2 (get-typanpassung t1 t2)))<br />
((t2->t1 (get-typanpassung t2 t1)))<br />
(cond ((not (null? t1->t2))<br />
(op-ausfuehren-2 op<br />
(t1->t2 a1)<br />
a2))<br />
((not (null? t2->t1))<br />
(op-ausfuehren-2 op<br />
a1<br />
(t2->t1 a2)))<br />
(else (error "keine Konvertierung<br />
möglich")))))))<br />
3.4.5 Typanpassung<br />
Umwandlung <strong>von</strong> Daten unterschiedlichen Typs (op-ausfuehren-2<br />
Typanpassung)<br />
mit<br />
• Vorteil: bei n Typen nur noch n Versionen jedes generischen Operators<br />
(statt n 2 ); allerdings bis zu n 2 Typanpassungen (besser: transistive<br />
Umwandlungen)<br />
• häufig: Objekte <strong>von</strong> Typen mit t 1 und t 2 , aber weder t 1 → t 2 noch<br />
t 2 → t 1 möglich, aber eventuell existiert ein gemeinsamer Typ t 3 mit<br />
t 1 → t 3 und t 2 → t 3 .<br />
• Daher: Betrachtung <strong>von</strong> Typhierachien, t 1 ist Untertyp <strong>von</strong> t 2 :<br />
– Jedes t 1 -Objekt ist auch t 2 -Objekt<br />
– Jede auf t 1 -Objekte anwendbare Operation ist auch auf t 1 -Objekte<br />
anwendbar<br />
– t 1 -Konzept ist Spezialfall <strong>von</strong> t 2 -Konzept<br />
• Beispiel Zahlen: N ⊆ N 0 ⊆ Z ⊆ Q ⊆ R ⊆ C; d.h. Turmstruktur, für<br />
Typanpassung sind nur noch drei Prozeduren t n → t n+1 ; Typanpassung<br />
ganzzahlig → komplex: drei Schritte (ganzzahlig zu rational zu reell zu<br />
komplex).<br />
38