UML: Signalklassifizierer gegen Klassenklassifikator

8

Wenn ich Signal richtig verstehe, ist dies eine asynchrone Nachricht zwischen zwei oder mehr Objekten. Zum Beispiel haben wir in UML einen Signalklassifikator:

%Vor%

Dann können wir dieses Signal wie folgt in Java schreiben:

%Vor%

Allerdings haben wir in Java eine CLASS, aber in UML haben wir einen SIGNAL-Klassifikator, aber keinen CLASS-Klassifikator ( Update: ich meine in diesem Beispiel ). Wie erklärt man es?

    
Pavel_K 10.12.2015, 08:35
quelle

2 Antworten

4

Ihre Diskussion über UML-Signale ist korrekt.

Aus der Spezifikation:

  

10.3.3.1 Signale

     

Ein Signal ist eine Spezifikation einer Art von Kommunikation zwischen Objekten, in denen eine Reaktion asynchron ausgelöst wird   im Empfänger ohne Antwort. Das empfangende Objekt behandelt Signale wie in Klausel 13.3 angegeben. Die Daten, die von der   Kommunikation werden als Attribute des Signals dargestellt. Ein Signal wird unabhängig von der Handhabung des Klassifikators definiert   es.

  

Allerdings haben wir in Java eine CLASS, aber in UML haben wir einen SIGNAL-Klassifikator, aber keinen CLASS-Klassifikator. Wie erklärt man es?

  1. UML hat einen Klassifizierer CLASS, aus der Spezifikation. (Hervorhebung von mir):
  

11.4 Klassen

     

... Der Zweck einer Klasse besteht darin, eine Klassifizierung von Objekten anzugeben und die Merkmale anzugeben, die die Struktur und das Verhalten dieser Objekte kennzeichnen .

     

11.4.4 Schreibweise

     

Eine Klasse wird mit dem Classifier-Symbol angezeigt. Da Class der am häufigsten verwendete Klassifizierer ist, wird kein Schlüsselwort benötigt , um anzugeben, dass es sich bei der Metaklasse um eine Klasse handelt.

  1. UML ist programmiersprachenunabhängig.

    In Java werden Klassen- und Signalklassifizierer von UML als Klassen implementiert.

    Ein anderes Beispiel: UML hat einen Schnittstellen-Klassifizierer, aber C ++ hat keinen Schnittstellen. Eine Schnittstelle in C ++ wäre eine abstrakte (rein virtuelle) Klasse.

sergej 10.12.2015, 09:50
quelle
2

Tatsächlich ist UML reicher als Java. In UML würden Klassifikatorkonzepte für Signale, Klassen, Komponenten und Collaboration der Java-Klasse entsprechen.

    
Red Beard 10.12.2015 09:43
quelle

Tags und Links