Diskussion:Verbund (Datentyp)

Letzter Kommentar: vor 3 Monaten von 79.204.204.221 in Abschnitt Die Komponenten/Elemente eines Verbunds

ÀÀÀÀÀÀ== Toter Link == http://www.mathematik.uni-marburg.de/~cpp/oop2/struct.html -> 404 (nicht signierter Beitrag von 85.182.93.123 (Diskussion) 19:14, 17. Jul 2013 (CEST))

C++ und C#

Bearbeiten

Structs gibt's doch auch in C++ und C# ... eine erleutung der Unterscheide in den verscheidnen Sprachen wäre hier nett.

Übersetzung aus enlischem Wiki

Bearbeiten

Ich habe mal den Anfang des englischen Artikels zu Objektkomposition übersetzt - ist definitiv nicht perfekt, aber stellt, glaube ich, einen etwas einfacheren Zugang zu der Materie dar (vielleicht kann das ja mal jemand mit mehr Erfahrung / höherem Fachwissen in den Artikel einflechten) - ich habe an einigen Stellen versucht, eine treffendere Formulierung zu finden:




In der Informatik ist die Objekt-Komposition ( ? der Objekt-Verbund) eine gängige Praxis, durch Kombination von einfacheren Datentypen bzw. Objekten komplexere Datentypen / Objekte zu erzeugen.

Kompositionen sind der entscheidende Baustein vieler Datenstrukturen, einschließlich verketteter Listen, Binärbäumen und tagged unions ( ? markierter, varianter Verbünde), so wie Objekten in der objektorientierten Programmierung.

Die Komposition steht im Gegensatz zur Erzeugung von Subtypen. Bei letzterer geht es darum, einen allgemeineren Datentypen durch Hinzufügen von Details zu einem spezifischeren Datentypen zu erweitern.

Bei der Kompositionen besteht zwischen dem neuen und dem ursprünglichen Datentyp eine "hat ein"-Beziehung, während es sich bei der Subtypenerzeugung um eine "ist ein"-Beziehungen handelt. Es wird also kein Subtyp erzeugt, sondern ein gänzlich neuer Datentyp.

<von mir hinzugefügt: Subtypen inkorporieren gewissermaßen den Datentypen ihres Ursprungsdatentyps und können mithin in gleicher Weise wie dieser verwendet werden, Kompositionen binden den Ursprungsdatentyp nur ein ein, weshalb auf diesen, bzw. dessen Komponenten, anders als ursprünglich zugegriffen werden muss.>

Als ein allgeminverständliches Beispiel für eine Komposition betrachte man ein Auto: Die Objekte Rad, Lenkrad, Sitz, Getriebe und Motor haben für sich genommen eine geringe Funktionalität, wenn man sie aber miteinander kombiniert, sprich komponiert, bilden sie ein Automobil-Objekt, das eine weitergehende Funktionalität aufweist, als die, die - banal gesprochen - die Summe seiner Einzelteile hätte.

Die Bestandteile / Komponenten einer Komposition werden Felder, Items (Unterpunkte), Mitglieder, oder Attribute genannt, die resultierende Komposition wird als Structure ( ? Struktur / Strukturierter Datentyp), storage record ( ? Datensatz), Tupel, Benutzerdefinierter Datentyp (UDT) oder Composite Typ bezeichnet. Die Bezeichnung variiert von Sprache zu Sprache.űrgryfv rfye fdyghfgvb ed Den jeweiligen Datenfeldern werden eindeutige Namen zugeordnet, so dass sie voneinander unterscheidbar sind.

Gelegentlich stellt sich bei Kompositionen die Frage nach dem Besitzverhältnis (ownership): sollen, wenn eine Komposition gelöscht wird, auch die an ihr beteiligten Mitglieder gelöscht werden? Wenn nicht, wird diese Form der Objektkomposition auch Aggregation genannt.

Struktur (Datentyp) eingearbeitet

Bearbeiten

Zur Info: Text aus Struktur (Datentyp) wurde eingearbeitet - war C-spezifische Variante von Verbund (DT). Siehe Diskussion hier.
Offen: Ob 'Verbund' wirklich ein Datentyp ist - oder eine Datenstruktur, ggf. Synonym zu 'Record'. --VÖRBY (Diskussion) 17:24, 21. Mai 2013 (CEST)Beantworten

Ich glaube, da ist ein 'Wespennest', denn auch Datentyp ist unzulänglich beschrieben: Während die en:WP den Datentyp mit "a data type or simply type is a classification identifying one of various types of data" definiert, wird dieser Ausdruck in deutsch-WP zwar auch so ähnlich beschrieben (konkreter Datentyp), das Lemma 'Struktur' und auch andere Lemmas (wie 'Feld') aber mit dem Klammerausdruck "Datentyp" versehen. --VÖRBY (Diskussion) 13:08, 22. Mai 2013 (CEST)Beantworten
präzisiert: 'Verbund' sollte demnach kein 'Datentyp', sondern eine 'Datenstruktur' sein. --VÖRBY (Diskussion) 18:38, 2. Jun. 2013 (CEST)Beantworten

Nach dem Inhalt der verschiedenen WP-Artikel sollte folgendes gelten:

  • Datenstruktur: Zum Deklarieren zusammengesetzter Datenkonstrukte
  • Datentyp: Dient der Typisierung in jeder Datendeklaration. Zu unterscheiden sind elementare Datentypen und zusammengesetzte Datentypen - die dann wohl 'Datenstrukturen' sind.

Datentyp wäre also ein übergeordneter Terminus. Demnach nehme ich meine Kritik hier zurück, die Klammerausdrücke '(Datentyp)' scheinen berechtigt. Die ausführliche Beschreibung zusammengesetzter Datentypen in Datentyp sehe ich aber als Redundanz, vielleicht auch als Inkonsistenz (die Aufzählungen nennen unterschiedliche Begriffe) zu Datenstruktur, zumindest könnte das zu MIssverständnissen beitragen. Trotzdem: Aus meiner Sicht:

Dieser Abschnitt kann archiviert werden. VÖRBY (Diskussion) 13:09, 10. Jun. 2013 (CEST)
Bearbeiten

GiftBot (Diskussion) 01:19, 22. Dez. 2015 (CET)Beantworten

Pascal

Bearbeiten

So so, Module in Pascal, habe ich etwa in der Schule nicht aufgepasst? Polluks 15:28, 27. Feb. 2024 (CET)Beantworten

Keine Ahnung, was das heißen soll, aber die im Text erwähnte Programmiersprache Component Pascal steht als Urenkel in der Tradition von Pascal. Bindeglieder:Modula-2, Oberon. --Bautsch 15:40, 27. Feb. 2024 (CET)Beantworten

Die Komponenten/Elemente eines Verbunds

Bearbeiten

Wirth nennt sie Felder, sowohl in "Programmieren mit Modula" als auch in der EBNF zu Oberon. Könnte man erwähnen, auch wenn es in Ritchie-Sprachen nicht als Begriff verwendet wird. --79.204.204.221 21:56, 3. Sep. 2024 (CEST)Beantworten