Sultan Geschrieben 22. November 2004 Geschrieben 22. November 2004 Wann wird das Klassendiagramm eingesetzt? Was stellen die Verbindungen der Klassen da? Was bedeuten die + - # vor den Methoden? Zitieren
Angela Geschrieben 22. November 2004 Geschrieben 22. November 2004 Zu 1.: Zitat: "Klassendiagramme beschreiben die statische Struktur eines objektorientierten Modells, die über einen längeren Zeitraum unverändert bleiben. Dabei stehen Aufbau und Beziehungen im Vordergrund. Klassen- und Objektdiagramme repräsentieren eine logische Sicht auf die Zusammenhänge einer Anwendung. Sie enthalten keinerlei Informationen über die Verteilung der modellierten Strukturen auf Software-Komponenten. Auch bleibt die Zuordnung der Software-Komponenten auf die Rechner und Server unbestimmt." => eingesetzt relativ früh im Entwicklungsprozess, zur Festlegung der Klassen- und Vererbungsstruktur Zu 2.: welche Verbindungslinien meinst Du? - Vererbungsschritte werden durch Linien dargestellt (gekennzeichnet wird die Vererbung durch ein Dreieck an der Superklasse, also der vererbenden Klasse) - abgeleitete Objekte werden mit ihrer Klasse über einen gestrichelten Pfeil verbunden (Objekte werden aber nur in Ausnahmefällen in Klassendiagrammen aufgenommen) - Daneben gibt es noch die Assoziation (einfache Linie zwischen 2 Klassen, beide Klassen sind gleichberechtigt und auch ohne einander lebensfähig, z.B. Bankkunde und Kunde wäre eine klassische Assoziation) - eine striktere Form der Assoziation ist die Aggregation (Linie zwischen 2 Klassen, an der höher in der Hierarchie stehenden Klasse ist eine nicht ausgefüllte Raute; beide Klassen sind ohne einander lebensfähig, die untergeordnete Klasse ergibt aber ohne die übergeordnete wenig Sinn, z.B. übergeordnete Klasse = LKW, untergeordnete Klasse = Achse) - die strikteste Form ist die Komposition (Linie zwischen 2 Klassen, an der höher in der Hierarchie stehenden Klasse ist eine ausgefüllte Raute; die untergeordnete Klasse ist ohne die übergeordnete nicht lebensfähig, z.B. übergeordnete Klasse = Gebäude, untergeordnete Klasse = Zimmer => ein Zimmer kann es ohne Gebäude nicht geben) Zu 3.: + = public - = private # = protected ~ = package (beteichnet die Sichbarkeit der Eigenschaften und Methoden) Zitieren
Angela Geschrieben 22. November 2004 Geschrieben 22. November 2004 Nachtrag zu 2.: Assoziation, Aggregation und Komposition sollten zudem noch bezeichnet werden, d.h., über der Linie wird in Stichpunkten die Art der Beziehung angegeben ( z.B. Assoziation Kund - Konto: über dem Strich schreibt man "hat ein" => Kunde hat ein Konto). Außerdem sollten die sogenannten Kardinalitäten angegeben werden, kann man sich ähnlich vorstellen wie bei einem Datenbankmodell, an beiden Enden wird jeweils die Anzahl der möglichen Objekte angegeben (z.B. Assoziation Kund - Konto: bei Kunde steht eine 1, bei Konto 1..* => ein Kunde kann 1 bis unendlich Konten haben). Mögliche Kardinalitäten (Beispiele): - 1: genau 1 Objekt - 0..1: kein oder 1 Objekt - *: kein oder beliebig viele Objekte - 1..*: 1 bis beliebig viele Objekte - 5: genau 5 Objekte - 1, 5, 8: genau 1 oder 5 oder 8 Objekte - 1..7, 10, 14..*: nicht 0, 8, 9, 11, 12 oder 13 Objekte - etc. Zitieren
CyberDemon Geschrieben 22. November 2004 Geschrieben 22. November 2004 Zu 3.: + = public - = private # = protected ~ = packageDie ersten drei kenne ich, aber was ist ~ = package? :confused: Zitieren
Angela Geschrieben 22. November 2004 Geschrieben 22. November 2004 protected = sichtbar für die Klasse und alle Subklassen package = sichtbar für die Klasse und alle anderen Klassen, die sich im selben Package befinden Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.