Benutzerdefinierte Datentypen (1)

Slides:



Advertisements
Ähnliche Präsentationen
Imperative Programmierung
Advertisements

Objektorientierte Programmierung
der Universität Oldenburg
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Listen Richard Göbel.
Java: Grundlagen der Objektorientierung
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Abstrakter Datentyp in C++ I - Klasse -
DVG Klassen und Objekte
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Programmierung im Netz und Internet: Einführung in die Programmiersprache Java Teil I 1 Klassen Objekte von.
RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.
Kollektionstypen (1) Es sind polymorphe Typkonstruktoren, jeweils als Sorten- und als Klassenkonstruktor (t,v beliebige Typen): –set, Set :Ungeordnete.
objekt-relationale Datenbanken
FH-Hof Algorithmen und Datenstrukturen - Einführung Richard Göbel.
1 Teil I Datenmodelle Kapitel 8: Objektrelationale Modelle.
Kapitel 5: Das objektorientierte Modell
Einführung in die Programmierung
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung
Relationales Datenmodell ist beherrschend: –Riesige Datenbestände und damit hohe Investitionen. –Die große Mehrzahl der Anwendungen arbeitet mit weitgehend.
Arrays / Felder Themen: Arrays / Felder / Vektoren Was soll das eigentlich? Erstellen von Arrays Arrays auslesen. Wie sie verwaltet werden.
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Programmiervorkurs WS 2014/15 Instanzmethoden
XQuery 1.0 – Arbeitsweise Mögl. Eingaben Das wird berücksichtigt: Typen von XPath und XML Schema Namensräume, Module Ergebnis: XML-Instanz.
Oberseminar Moderne Datenbanken WS03/04
OQL-Anbindung an Java (1) Java als Beispiel für die Einbettung von OQL in eine Programmiersprache Die OQL-Einbettung in Java ist teilweise mit dynamischem.
Objekte und Literale ODMG-Objektmodell kennt zwei Arten von Datenelementen: Literale: Identität ist ausschließlich durch Wert gegeben. Nur maximal eine.
Vordefinierte Datentypen (1)
Diskrete Mathematik I Vorlesung 2 Arrays.
Java-Kurs Übung Besprechung der Hausaufgabe
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Einführung in die Programmierung mit Java
Sichtbarkeit einschränken
Problemlösen am Beispiel des Rückwärtsarbeitens
? Stichwortverzeichnis … zum Suchen
gemeinsam.innovativ.nachhaltig.
3. Schafft das Internet neue Transaktionsdesign?
Michael Artin: Geometric Algebra
R What is this R thing, and is it worth some effort?
8 Zündung/Motormanagement
Stichwortverzeichnis
Herstellung von kristallinen Metalloxiden über die Schmelze mit einem Spiegelofen Gruppe 8: Yuki Meier, Vivien Willems, Andrea Scheidegger, Natascha Gray.
Kapitel 4 Traveling Salesman Problem (TSP)
Markus Lips März 2017 ETH-Vorlesung, 6. Sem. Agrarwissenschaft BSc Agrartechnik II.
Einführung in Web- und Data-Science
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
Entwicklung epistemologischer Überzeugungen
Das Verdauungssystem Präsentiert von Theresa
MasterBAV© Die neue Generation BAV
«Wir bereiten uns auf die Deutschlandreise vor»
Einführung in Web- und Data-Science
Pensionsrück-stellungen Prof. Dr. Matthias Hendler
Betriebliche Gesundheitsförderung 2
Liebe BetrachterInnen,
Rosebrock: Geometrische Gruppen
Forschungsmethoden in der Teilchenphysik
Aktuelle Themen aus dem KVJS-Landesjugendamt Referat 44
175 Jahre UZH Krisenkommunikation
Frauen- Männerriegen KONFERENZ
Was ist eigentlich Datenschutz?
Grundkurs Informatik 11-13
Felder in der Informatik
 Präsentation transkript:

Benutzerdefinierte Datentypen (1) Benutzerdefinierte Abstrakte Datentypen (ADT) möglich: Zustand: Tupelstruktur Verhalten: Zugriffsfunktionen (Methoden) Methoden: spezielle Funktionen, die an Typ gebunden sind Trennung zwischen Methodensignatur und -implementierung Beispiel: create type Punkt as (x real, y real, z real) method Punkt (x real, y real, z real) returns Punkt, method addition (p Punkt) returns Punkt, method distanz (p Punkt) returns real, method nullDistanz () returns real; Initialisierungsmethode: Aufruf zur Erzeugung neuer Objekte

Benutzerdefinierte Datentypen (2) Implementierungen der Methoden: create method Punkt (x real, y real, z real) for Punkt begin set self.x = x; set self.y = y; set self.z = z; return self; end; create method addition (p Punkt) for Punkt return Punkt ( self.x + p.x, self.y + p.y, self.z + p.z ); create method distanz (p Punkt) for Punkt begin declare dx real; declare dy real; declare dz real; set dx = self.x - p.x; set dy = self.y - p.y; set dz = self.z - p.z; return ( sqrt ( dx  dx + dy  dy + dz  dz ) ); end; create method nullDistanz () for Punkt return self.distanz ( Punkt (0.0, 0.0, 0.0) ); self Objektbezeichner, an den jeweils die Methode zur Laufzeit gebunden wird

Literale und Objekte (1) Für benutzerdefinierte Datentypen lassen sich Literale (embedding) oder Objekte (linking) erzeugen. Beispiel für Literal: Datentyp Kante ist über zwei Punkte definiert: create type Kante as ( P1 Punkt, P2 Punkt ); Beispiel für Objekt: Einführung von Referenz-Attributen, die Objektidentifikatoren aufnehmen. create type Kante as ( P1 ref (Punkt), P2 ref (Punkt) ); Für ref-Attribute gilt automatische Dereferenzierung.

Literale und Objekte (2) P1: x: 4.0 y: 0.0 z: 0.0 P2: x: 2.0 P1: @ P2: @ x: 4.0 y: 0.0 z: 0.0 x: 2.0 y: 0.0 z: 0.0 x: 2.0 y: 0.0 z: 1.0 P1: x: 2.0 y: 0.0 z: 0.0 P2: z: 1.0 P1: @ P2: @ Literale (Kopiersemantik) Objekte (Referenzsemantik)

Mengenwertige Attribute: Arrays Charakteristika: Innerhalb der Tupelkonstruktion eines Datentyps können Attribute mengenwertig mittels eines Arrays sein. Hierzu existiert der Typkonstruktor array[n], wobei n die maximale Anzahl von Elementen angibt. Arrays von Arrays, also mehrdimensionale Arrays sind nicht erlaubt Andere Kollektionstypen (set, multiset, list) kommen vermutlich erst in SQL-4 Beispiele: create type Fläche as ( Kanten ref(Kante) array[1024] ); create type Vielflächner as ( Flächen Fläche array[512] ); Array von Objektreferenzen Array von Objektliteralen