Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML...
-
Upload
pankraz-dragan -
Category
Documents
-
view
104 -
download
0
Transcript of Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML...
Institut für Kartographie und GeoinformationProf. Dr. Lutz Plümer
Objektorientierte Konzepte/UML
Geoinformation IVorlesung 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
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
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
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
Unsichtbar
Sichtbar
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
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
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
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
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
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
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
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
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
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..*
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
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
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
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
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
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