DeCaY4
Guest
(abstrakte) Datentypen
.. oder alle die es werden wollen.
Ich hab da einige Verständnisschwierigkeiten mit Datentypen/abstrakten Datentypen.
Ich arbeite grad mit dem Ottmann/Widmayer und finde die Erklärungen irgendwie widersprüchlich, wikipedia hilft mir auch nur begrenzt weiter.
So wie ich das sehe, hat man Mengen, die einen bestimmten Wertebreich haben (nat. zahlen, ganze Zahlen..) als (Grund-)Datentypen in praktisch allen Programmiersprachen implementiert (int, double, character....).
Abstrakte Datentypen wären für mich sowas wie Klassen in Java oder typedef_struct Konstrukte in C, halt eine Zusammenfassung von verschiedenen Mengen und damit verschieden (Grund-)datentypen.
Zu beiden gehören noch verschiedene Operationen (Addition, Multiplikation... einerseits, create, edit... andererseits).
Datenstrukturen wären dann für mich implementierte abstrakte Datentypen.
Allerdings tun sich mir da verschiedene Fragen auf..
1. wo würde man Strings und arrays einordnen? arrays sind ja im Grunde Matrizen aus der Mathematik; ein String ist (z.B. in C) ein characterarray. Wäre ein array eine Datenstruktur, ein Datentyp oder ein abstrakter Datentyp?
2. Graphen sind ja abstrakte Datentypen; Bäume sind spezielle Graphen; allerdings kann man Bäume auch als spezielle lin.Listen auffassen; ist ein Baum also ein Mischung aus Graph/lin.Liste?
3. im Ottmann/Widmayer werden Mengen als eigene abs. Datentypen aufgefasst. Mengen sind (für mich) aber der Grundbaustein der Mathematik und axiomatisch definiert, wie passt das zusammen?
4. Java-spezifisch: man kann ja wohl sagen, dass jede abstrakte Klasse einem abstrakten Datentyp entspricht. Was ist mit normalen Klassen/Interfaces? Die (Grund-)datentypen int, double.. sind ja z.B. in den Wrapperklassen wie normale Klassen definiert. Wäre dann also jede Klasse ein Datentyp?
thx for help.
e: mein Assistent meinte, ich sollte evtl den thread Titel ändern.. ursprünglich war das Ding ja auch im Com..
.. oder alle die es werden wollen.

Ich hab da einige Verständnisschwierigkeiten mit Datentypen/abstrakten Datentypen.
Ich arbeite grad mit dem Ottmann/Widmayer und finde die Erklärungen irgendwie widersprüchlich, wikipedia hilft mir auch nur begrenzt weiter.
So wie ich das sehe, hat man Mengen, die einen bestimmten Wertebreich haben (nat. zahlen, ganze Zahlen..) als (Grund-)Datentypen in praktisch allen Programmiersprachen implementiert (int, double, character....).
Abstrakte Datentypen wären für mich sowas wie Klassen in Java oder typedef_struct Konstrukte in C, halt eine Zusammenfassung von verschiedenen Mengen und damit verschieden (Grund-)datentypen.
Zu beiden gehören noch verschiedene Operationen (Addition, Multiplikation... einerseits, create, edit... andererseits).
Datenstrukturen wären dann für mich implementierte abstrakte Datentypen.
Allerdings tun sich mir da verschiedene Fragen auf..
1. wo würde man Strings und arrays einordnen? arrays sind ja im Grunde Matrizen aus der Mathematik; ein String ist (z.B. in C) ein characterarray. Wäre ein array eine Datenstruktur, ein Datentyp oder ein abstrakter Datentyp?
2. Graphen sind ja abstrakte Datentypen; Bäume sind spezielle Graphen; allerdings kann man Bäume auch als spezielle lin.Listen auffassen; ist ein Baum also ein Mischung aus Graph/lin.Liste?
3. im Ottmann/Widmayer werden Mengen als eigene abs. Datentypen aufgefasst. Mengen sind (für mich) aber der Grundbaustein der Mathematik und axiomatisch definiert, wie passt das zusammen?
4. Java-spezifisch: man kann ja wohl sagen, dass jede abstrakte Klasse einem abstrakten Datentyp entspricht. Was ist mit normalen Klassen/Interfaces? Die (Grund-)datentypen int, double.. sind ja z.B. in den Wrapperklassen wie normale Klassen definiert. Wäre dann also jede Klasse ein Datentyp?
thx for help.

e: mein Assistent meinte, ich sollte evtl den thread Titel ändern.. ursprünglich war das Ding ja auch im Com..


