Sichtbarkeit einschränken Idee von OO Abstraktion Sichtbarkeit einschränken Länge Punkt Breite transform(..) x y Bezugssystem Kapselung Parametrisierung
weitere Zugriffsfunktionen Kapselung setLänge getLänge setBreite getBreite gety sety transform() weitere Zugriffsfunktionen ... ... Länge Punkt Breite x y Bezugssystem
Unsichtbar Sichtbar
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
Abschließend noch einmal zur Beschreibung von Klassen Typen und Initialwerte sind optional
Varianten der Notation Klasse ohne Attribute und Operationen Attribute und Methoden nicht dargestellt
UML: Beziehungen Knoten begrenzen Kanten begrenzen Flächen
Beziehungen in UML - einführendes Beispiel
Multiplizität Name jedes Grundstück hat mindestens drei Kanten jede Kante begrenzt genau zwei Grundstücke
Bezeichnung von Beziehungen Rolle B Klasse A Klasse B Beziehungsname Rolle A Leserichtung
Bezeichnung: Noch ein Beispiel beschäftigt Firma Mitarbeiter arbeitgeber arbeitet für arbeitnehmer
Multiplizität von Beziehungen Leserichtung eine Kante begrenzt genau 2 Grundstücke ein Grundstück hat mindestens 3 Kanten G1 G2
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..*
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
Eine Komposition flächenhafter Objekte
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
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
Und was ist mit Methoden? Methoden werden vererbt oder überschrieben
Übung: Anwendung der Generalisierung auf Land, Kreis, Gemeinde