Objektorientierte Datenbanken

Slides:



Advertisements
Ähnliche Präsentationen
Objektorientierte Programmierung
Advertisements

Imperative Programmierung
der Universität Oldenburg
der Universität Oldenburg
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Einführung in die Programmierung Zusammenfassung
der Universität Oldenburg
Objektorientierte Programmierung Definition von Klassen
FH-Hof Einbindung von JavaScript Anweisungen
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Indirekte Adressierung
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Java: Referenzen und Zeichenketten
Java: Grundlagen der Objektorientierung
Klassenvariable (auch Klassendaten bzw. statische Attribute genannt) und statische Methoden.
Klassenvariable. Da man für jede Kuh bzw. jede Henne auf dem Markt den gleichen Preis für ein Liter Milch, bzw. den gleichen Preis für ein Ei bekommt,
Konstruktoren.
Assoziationen (Beziehungen). Zwischen Objekten kann es eine Beziehung geben.
Polymorphie (Vielgestaltigkeit)
Objekte und Arbeitsspeicher
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
Imperative Programmierung Funktionen und Parameter
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Programmieren mit JAVA
Programmieren mit JAVA
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Zusammenfassung Vorwoche
Packages Vortrag : Cornelia Hardt 23. November 1999.
DVG Einführung in Java1 Einführung in JAVA.
DVG Methoden 1 Methoden. 2 int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0); dezi = Math.abs(dezi); String Bin = ""; do { } while.
DVG Klassen und Objekte
Einführung in die Programmierung Klassendefinition und Objekte
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Informatik 1 Übung 8. NACHBESPRECHUNG Übung 8 Rekursion Existiert Weg von A nach B?
IT2 – WS 2005/20061Oct 10, 2005 Externes Verhalten – Quelltext (source code) Durch Aufrufe der Konstruktoren und Methoden kann das externe Verhalten (=die.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
EPROG Tutorium Einheit 4 Klassen und Objekte. Wiederholung Schleifen do... while while for break/continue Strings String char Methoden für Strings Arrays.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Objektorientiertes Konstruieren
Parameterübergabemechanismen für den Methodenaufruf
EPROG Tutorium #3 Philipp Effenberger
Objektorientierte Modellierung mit UML
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Lernlandkarte OOP (ObjektOrientiertes Programmieren)
Einführung in die Programmierung mit Java
Java-Kurs Übung Besprechung der Hausaufgabe
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Java-Kurs - 9. Übung Besprechung der Hausaufgabe
Objektorientierte Programmierung (OOP)
Objektorientierte Datenbanken
Objektorientierte Datenbanken zBeim vorigen Mal: yUmsetzung in objektorientierte Modellierung auf Implementierungsebene am Beispiel Java yKlassen und Instanzen.
Java Programme nur ein bisschen objektorientiert.
Tutorium Software-Engineering SS14 Florian Manghofer.
C++ FÜR cOMPUTERSPIELENTWICKLER
Zwei Denkansätze zur Klasse Schlange
Java-Kurs - 5. Übung Das Paradigma der Objektorientierung (OO)
Die Klasse Vielfrass in Java
Grundkurs Informatik 11-13
Michael Barth, Fabian Birzele und Gefei Zhang
Implementieren von Klassen
Objektorientierte Programmierung
 Präsentation transkript:

Objektorientierte Datenbanken Ralf Möller, FH-Wedel Beim vorigen Mal: Objektorientierte Modellierung auf Entwurfsebene am Beispiel UML Heute: Umsetzung in objektorientierte Modellierung auf Implementierungsebene am Beispiel Java Lernziele: Java aus UML-Sicht verstehen Kurzeinführung in OOP am Beispiel Java In Übungen noch vertieft

Wiederholung UML Klassen und Instanzen Klassenbeziehungen Attribute Operationen Klassenbeziehungen Generalisierung, Spezialisierung Auf Klassenebene beschriebene Instanzenbeziehungen Relationen: Assoziationen, Komposition, Aggregation,

Sichtbarkeit, Namensraumverwaltung In UML Moduln in Java Packages genannt Import-Mechanismus in Java: import java.util.*; Export-Mechanismus in Java: Kennzeichnung des Exports von Namen in einem speziellen Package durch Sichtbarkeitsattribute bei den Namen public protected private Beispiele siehe unten

Variablen und Typen Variablen in Programmen speichern Werte und Objektreferenzen Wertebereich durch Angabe von Typen eingeschränkt Initialisierung möglich (optional) Beispiele: int port; int port = 1234;

Basis-Datentypen: sog. Werte in Java Beschreibung immutabler einfacher Objekte Beschreibung des Wertebereichs von Attributen, Variablen usw. Zahlen: int, float, ... Vordefinierte Verknüpfungsoperationen (==, +, -, ...) Wahrheitswerte: boolean Vordefinierte Verknüpfungsoperationen (==, and, or, not, ...) Zeichen (Unicode): char Vordefinierte Verknüpfungsoperationen (==, ...)

Klassen und Typen Jede Klasse definiert auch einen Typ (mit gleichem Namen) public class Rechnung { int preis; public void drucken () { ... } public void stornieren() { ... } }

Attribute (Felder, Instanzvariablen) In Java Objektspezifische Attribute zusätzlich: sog. statische Attribute Durch static markiert Beispiel (Erweiterung der vorher definierten Klasse um mwst): public class Rechnung { public static int mwst = 16; pubic int preis; ... } Statische Attribute sind der Klasse zugeordnet Wertebereich von Attributen durch Typangabe beschrieben

Operationen (in Java Methoden genannt) Statische vs. objektspezifische Methoden Methodenarten: Prozeduren vs. Funktionen Methodenkopf und Methodenrumpf Methodenrumpf besteht aus Java-Programmcode Java ist eine klassische Programmiersprache mit entsprechenden Kontrollstrukturen, Anweisungen und Ausdrücken Direkter Zugriff auf Attribute der Klasse (zu der die Methode gehört) nur im Rumpf einer objektspezifischen Methode Attributreferenzen wie Variablenreferenzen notiert

Java-Anweisungen im Methodenrumpf Zuweisungen: i = 42; Fallunterscheidungen: if (i == 42) { ... } else { ... } Schleife: while (i < 42) { ... }

Methoden [Sichtbarkeit] [static] [Ergebnistyp] Name ([Typ Name {, Typ Name}]) Prozeduren Ergebnistyp: void Prozedurenaufrufe (s.u.) nur als Anweisungen Funktionen Ergebnis bestimmt mit: return Ausdruck im Rumpf einer Methode Funktionsaufrufe (s.u.) nur in Ausdrücken verwendbar

Objekterzeugung Syntax: new Klassenname Beispiel Rechnung r1 = new Rechnung;

Initialisierungsprozeduren (Creators) Methodenname = Klassenname Klassenname([Typ Parameter {, Typ Parameter}]) Zugriff auf Attribute der neuen Instanz im Rumpf Aufruf: new Klassenname([Audruck {, Ausdruck}]) Erzeugung einer Instanz einer Klasse unter Verwendung einer neuer OID Ausführung der „passenden“ Initialisierungsprozedur In Java keine Destruktoren notwendig, da automatische Speicherrückgewinnung bzgl. nicht mehr referenzierter Objekte in Java-Laufzeitsystem integriert (garbage collector).

Beispiel public class Rechnung { public static int mwst = 16; pubic int preis; public Rechnung (int init) { preis = init } ... } Rechnung r1 = new Rechnung(100); Rechnung r2 = new Rechnung(200); Erzeugung zweier Rechnungsinstanzen mit jeweils unterschiedlichem Wert für das Attribut preis Die Rechnungsinstanzen sind hier an Variablen r1 und r2 gebunden

Rumpf der Methoden für Rechnungen public class Rechnung { public static int mwst = 16; pubic int preis; public Rechnung (int init) { preis = init } public void drucken () { System.out.println(“Der Preis beträgt:“); System.out.println(preis * (1 + mwst/100)); } ... }

Zugriff auf Attribute Im Rumpf von Methoden der definierenden Klasse direkt über Namen: Beispiel: preis = 88; Im Rumpf von Methoden außerhalb der definierenden Klasse: Instanzenspezifische Attribute: r1.preis = 333; Statische Attribute: Rechnung.mwst = 17;

Operationsaufruf Statisch Objektspezifisch Angabe der Klasse und des Methodennamens Klassenname . Methodenname ([Ausdruck {, Ausdruck}]) Objektspezifisch Ausdruck . Methodenname ([Ausdruck {, Ausdruck}]) Metapher des Sendens von Nachrichten

Zugriff auf Methoden: Beispiel r1.drucken() Der Preis beträgt: 116 r2.drucken() Der Preis beträgt: 232

Zusammenfassung, Kernpunkte Objektorientierte Modellierung auf Entwurfsebene umgesetzt in Implementierungsebene am Beispiel von Java Klassen, Attribute, Methoden, Instanzen, new, Initialisierungsprozeduren

Was kommt beim nächsten Mal? Fortsetzung der Umsetzung von UML durch Java