www.wikidata.de-de.nina.az
Dieser Artikel oder nachfolgende Abschnitt ist nicht hinreichend mit Belegen beispielsweise Einzelnachweisen ausgestattet Angaben ohne ausreichenden Beleg konnten demnachst entfernt werden Bitte hilf Wikipedia indem du die Angaben recherchierst und gute Belege einfugst Eine Klasse englisch class ist ein Modellelement in der Unified Modeling Language UML einer Modellierungssprache fur Software und andere Systeme Sie beschreibt eine Menge von Auspragungen mit gleichen Merkmalen gleichen Einschrankungen und gleicher Semantik Inhaltsverzeichnis 1 Beschreibung 2 Arten von Klassen 2 1 Aktive Klassen 2 2 Abstrakte Klassen 2 3 Verschachtelte Klassen 3 Notation 4 Unterschiede zur UML 1 4Beschreibung BearbeitenEine Klasse ist ein Typ Sie besitzt eine Liste von Merkmalen vor allem Attribute und Operationen aber auch Ports und Signalempfanger Zusatzlich kann sie uber eine Liste von inneren Klassen verfugen Innere Klassen sind Klassen die im Namensraum der Klasse selbst definiert sind Eine Klasse kann eine oder mehrere andere Klassen spezialisieren sowie uber Assoziationen und Abhangigkeitsbeziehungen in Beziehung zu Klassen und anderen Modellelementen stehen Arten von Klassen BearbeitenAktive Klassen Bearbeiten Die UML unterscheidet zwischen aktiven und passiven Klassen Alle Instanzen von aktiven Klassen sind aktive Objekte das heisst Objekte die ein Eigenleben fuhren Unmittelbar wenn eine Instanz einer aktiven Klasse angelegt wird startet ein fur die Klasse spezifiziertes Verhalten Dieses Verhalten lauft weiter bis es explizit gestoppt oder bis das Objekt zerstort wird Nur aktive Klassen konnen Signalempfanger besitzen nbsp Beispiel einer aktiven Klasse mit zwei SignalempfangernEine aktive Klasse wird mit einem doppelten linken und rechten Rand gezeichnet Abstrakte Klassen Bearbeiten Abstrakte Klassen sind Klassen von denen keine Exemplare angelegt werden konnen Abstrakte Klassen sehen in UML wie normale Klassen aus Um sie zu unterscheiden steht unterhalb des Klassennamens das Wort abstract in geschweiften Klammern Alternativ kann der Klassenname auch kursiv geschrieben werden wenn dies gut erkennbar ist nbsp Detaillierte Darstellung einer abstrakten Klasse Verschachtelte Klassen Bearbeiten In der UML ist jede Klasse zugleich ein Namensraum Damit ist einerseits gewahrleistet dass Attribute und Operationen die einer Klasse gehoren nur im Bereich dieser Klasse einen eindeutigen Namen haben mussen Zwei Attribute die unterschiedlichen Klassen gehoren konnen durchaus gleich heissen Andererseits erlaubt das Metamodell der UML dadurch auch dass eine Klasse sogenannte verschachtelte Klassen engl nested classes besitzen darf Die UML Spezifikation enthalt jedoch keine Angaben wie verschachtelte Klassen grafisch in einem Klassendiagramm dargestellt werden In der Softwareentwicklung zum Beispiel in der Programmiersprache Java kennt man das Konzept der inneren Klassen Verschachtelte Klassen im Sinne der UML entsprechen statischen inneren Klassen in Java Notation BearbeitenKlassen werden in Klassendiagrammen dargestellt Die folgenden drei Abbildungen zeigen drei Varianten der grafischen Notation fur eine Klasse Abhangig davon ob eine Klasse in einem Klassendiagramm fur ein Design oder ein Analysemodell gezeichnet wird konnen mehr oder weniger Details dargestellt werden nbsp Einfachste Form der Darstellung fur eine Klasse nbsp Zusatzliche Darstellung von Attributen nbsp Detaillierte Darstellung einer KlasseUnterschiede zur UML 1 4 BearbeitenAb der Version 2 0 der UML konnen Klassen innere Klassen besitzen Im Gegensatz zur UML 1 x gibt es in der UML2 kein Modellelement Attribut mehr Attribute einer Klasse werden neu als Eigenschaften engl property modelliert Dieser Ansatz wurde eingefuhrt damit das Metamodell der UML2 sowohl Attribute einer Klasse als auch Enden von Assoziationen einheitlich als Eigenschaften modellieren kann Neben Eigenschaften und Operationen kann eine Klasse in UML2 neu auch uber Ports und Signalempfanger als Merkmal verfugen Abgerufen von https de wikipedia org w index php title Klasse UML amp oldid 207968329