Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Kollektionstypen (1) Es sind polymorphe Typkonstruktoren, jeweils als Sorten- und als Klassenkonstruktor (t,v beliebige Typen): –set, Set :Ungeordnete.

Ähnliche Präsentationen


Präsentation zum Thema: "Kollektionstypen (1) Es sind polymorphe Typkonstruktoren, jeweils als Sorten- und als Klassenkonstruktor (t,v beliebige Typen): –set, Set :Ungeordnete."—  Präsentation transkript:

1 Kollektionstypen (1) Es sind polymorphe Typkonstruktoren, jeweils als Sorten- und als Klassenkonstruktor (t,v beliebige Typen): –set, Set :Ungeordnete Menge ohne Duplikate –bag, Bag :Ungeordnete Menge mit Duplikaten –list, List :Geordnete Menge mit Duplikaten –array, Array :Funktion von {1, 2,..., n} nach t –dictionary, Dictionary :Funktion von t nach v

2 Kollektionstypen (2) Begrenzte Polymorphie durch Vererbung. Beide Arten von Vererbung bewirken Substituierbarkeit: –Instanz eines Untertyps darf an jeder Stelle verwendet werden, an der Instanz eines Obertyps erwartet wird. Beispiel: Interface Collection mit vordefinierten Operatoren für alle Kollektionstypen: interface Collection { unsigned long cardinality (); boolean is_empty (); boolean is_ordered (); boolean contains_element (in Object element); void insert_element (in Object element); void remove_element (in Object element); Iterator create_iterator (in boolean stable);...// weitere Methoden }

3 Kollektionstypen (3) Spezielle Kollektionstypen bieten weitere Operatoren an, z.B. interface Set : Collection { Set create_union (in Set andererSet); Set create_intersection (in Set andererSet); Set create_difference (in Set andererSet); boolean is_subset_of (in Set andererSet);...// weitere Methoden }

4 Iteratoren Aufruf von create_iterator() auf einer Kollektionsklasse liefert Iterator zurück, d.h., Objekt, das Zustand einer Traversierung kapselt: interface Iterator { boolean at_end (); void reset (); Object get_element (); void next_position (); void replace_element (in Object element);...// weitere Methoden } Auf Anforderung kann stabiler Iterator mit Schnappschuss-Semantik erzeugt werden: Änderungen der Kollektion während der Traversierung bleiben unsichtbar.


Herunterladen ppt "Kollektionstypen (1) Es sind polymorphe Typkonstruktoren, jeweils als Sorten- und als Klassenkonstruktor (t,v beliebige Typen): –set, Set :Ungeordnete."

Ähnliche Präsentationen


Google-Anzeigen