Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML...

22
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001

Transcript of Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML...

Page 1: Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.

Institut für Kartographie und GeoinformationProf. Dr. Lutz Plümer

Objektorientierte Konzepte/UML

Geoinformation IVorlesung 2

WS 2000/2001

Page 2: Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.

Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2 Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2

2 2

Übersicht I

• Idee von OO

• Kapselung

• Idee der Kapselung

• Abschließend noch einmal zur Beschreibung von Klassen

• Varianten der Notation

• UML: Beziehungen

• Beziehungen in UML - einführendes Beispiel

• Bezeichnung von Beziehungen

• Bezeichnung: Noch ein Beispiel

• Multiplizität von Beziehungen

Page 3: Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.

Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2 Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2

3 3

Übersicht II

• Mögliche Multiplizitäten

• Wichtige Beziehungen I: Aggregation und Komposition

• Eine Komposition flächenhafter Objekte

• Wichtige Beziehungen (II):Generalisierung und Spezialisierung

• Vererbung

• Und was ist mit Methoden?

• Übung: Anwendung der Generalisierung auf Land, Kreis, Gemeinde

Page 4: Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.

Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2 Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2

4 4

Punkt

Bezugssystem

Breite

Länge

x ytransform(..)

Sichtbarkeiteinschränken

Abstraktion

KapselungParametrisierung

Idee von OO

Page 5: Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.

Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2 Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2

5 5

Kapselung

...

...

weitere Zugriffsfunktionen setLänge

getLänge

setBreite

getBreite

getysety

transform()

Punkt

Bezugssystem

Breite

Länge

x y

Page 6: Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.

Unsichtbar

Sichtbar

Page 7: Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.

Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2 Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2

7 7

Idee der Kapselung

• Attribute sind nur innerhalb der Klasse sichtbar– private– Notation: -– vor Änderung geschützt

• Zugriff auf Attribute nur durch „öffentliche“ Operationen („Methoden“)– public– Notation +– Methoden sind für Konsistenzwahrung zuständig

• Zusammenhang von– Länge/Breite und x/y

Page 8: Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.

Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2 Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2

8 8

Typen undInitalwerte sind optional

Abschließend noch einmal zur Beschreibung von Klassen

Page 9: Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.

Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2 Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2

9 9

Varianten der Notation

Klasse2

Klasse3

Klasse ohne Attribute und Operationen

Attribute und Methodennicht dargestellt

Page 10: Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.

Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2 Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2

10 10

UML: Beziehungen

Flächen

Knoten

Kanten

begrenzen

begrenzen

Page 11: Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.

Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2 Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2

11 11

Beziehungen in UML - einführendes Beispiel

Page 12: Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.

Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2 Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2

12 12

KanteGrundstück

+getFläche() : Zahl+getBesitzer() : Person

-Besitzer : Person2

3..*

begrenzt

Name

Multiplizität

• jedes Grundstück hat mindestens drei Kanten

• jede Kante begrenzt genau zwei Grundstücke

Beziehungen in UML - einführendes Beispiel

Page 13: Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.

Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2 Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2

13 13

Klasse A Klasse BBeziehungsnameRolle A

Rolle B

Leserichtung

Bezeichnung von Beziehungen

Page 14: Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.

Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2 Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2

14 14

Firma Mitarbeiterarbeitgeber arbeitnehmer

beschäftigt

arbeitet für

Bezeichnung: Noch ein Beispiel

Page 15: Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.

Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2 Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2

15 15

KanteGrundstück

+getFläche() : Zahl+getBesitzer() : Person

-Besitzer : Person2

3..*

begrenzt

Multiplizität von Beziehungen

G1

G2

Leserichtung

• eine Kante begrenzt genau 2 Grundstücke

• ein Grundstück hat mindestens 3 Kanten

Page 16: Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.

Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2 Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2

16 16

Mögliche Multiplizitäten:

1 genau eins

0..1 null oder eins

0..4 zwischen null und vier

3,7 drei oder sieben

0..* größer oder gleich null (Standard)

* dto.

1..* größer oder gleich eins

0..3, 7, 9..*

Page 17: Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.

Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2 Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2

17 17

Ganzes

Teil

Ganzes

Teil

n

1..1

Wichtige Beziehungen I: Aggregation und Komposition

• Aggregation: eine spezielle Assoziation, deren beteiligte Klassen eine Ganzes-Teile-Hierarchie darstellen

• Komposition: eine strenge Form der Aggregation, bei der die Teile vom Ganzen existenzabhängig sind

Page 18: Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.

Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2 Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2

18 18

Land

+getBezeichnung() : Name+getEinwohner() : Zahl+getFläche() : Zahl

-Bezeichnung : Text-Einwohner : Zahl-Fläche : Zahl

Kreis

+getBezeichnung() : Name+getEinwohner() : Zahl+getFläche() : Zahl

-Bezeichnung : Text-Einwohner : Zahl-Fläche : Zahl

Gemeinde

+getBezeichnung() : Name+getEinwohner() : Zahl+getFläche() : Zahl

-Bezeichnung : Text-Einwohner : Zahl-Fläche : Zahln

1..1

Grundstück

+getFläche() : Zahl+getBesitzer() : Person

-Besitzer : Person-Fläche : Zahl

n

1..1

1..1

n

Eine Komposition flächenhafter Objekte

Page 19: Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.

Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2 Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2

19 19

Wichtige Beziehungen (II):Generalisierung und Spezialisierung

• Die „GeomFigur“ ist ein allgemeineres Konzept als „Dreieck,“ „Kreis“ oder „Rechteck“

• GeomFigur ist Oberklasse,Dreieck, Kreis und Rechteck sind Unterklassen

• Unterklassen erben die Attribute der Oberklasse und fügen ggf. weitere hinzu

GeomFigur

Dreieck Kreis Rechteck

Page 20: Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.

Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2 Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2

20 20

Vererbung

• Generalisierung und Spezialisierung sind Abstraktionsprinzipien zur hierarchischen Strukturierung der Semantik eines Modells

• Generalisierung und Spezialisierung beschreiben eine „taxonomische“ (systematische) Beziehungen zwischen einem allgemeinen und einem speziellen Element, wobei das speziellere weitere Eigenschaften hinzufügt und sich kompatibel zum allgemeinen verhält

Page 21: Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.

Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2 Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2

21 21

Und was ist mit Methoden?

GeomFigur

+anzeigen()+entfernen()+verschieben()

-Mittelpunkt : Punkt-sichtbar : Boolean

Dreieck

+anzeigen()+entfernen()

-a : Zahl-b : Zahl-c : Zahl

Kreis

anzeigen() entfernen()

-radius : Zahl

Rechteck

anzeigen() entfernen()

-a : Zahl-b : Zahl

Methoden werden vererbt oder überschrieben

Page 22: Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.

Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2 Lutz Plümer - Geoinformation - 1./5. Semester - WS 00/01 - Vorlesung 2

22 22

Land

+getBezeichnung() : Name+getEinwohner() : Zahl+getFläche() : Zahl

-Bezeichnung : Text-Einwohner : Zahl-Fläche : Zahl

Kreis

+getBezeichnung() : Name+getEinwohner() : Zahl+getFläche() : Zahl

-Bezeichnung : Text-Einwohner : Zahl-Fläche : Zahl

Gemeinde

+getBezeichnung() : Name+getEinwohner() : Zahl+getFläche() : Zahl

-Bezeichnung : Text-Einwohner : Zahl-Fläche : Zahln

1..1

Grundstück

+getFläche() : Zahl+getBesitzer() : Person

-Besitzer : Person-Fläche : Zahl

n

1..1

n

1..1

Übung: Anwendung der Generalisierung auf Land, Kreis, Gemeinde