Ich zeichne eine UML, in der eine konkrete Klasse von einer abstrakten Klasse erbt, die eine rein virtuelle Methode definiert. Muss diese Methode auch in der konkreten Klasse gezeigt werden? Es wird impliziert, dass er von der abstrakten Klasse erbt.In UML, müssen Sie die konkrete Implementierung einer abstrakten Methode zeigen?
Antwort
Nein, Sie müssen nicht. in der Tat, im Allgemeinen nicht mehr in die UML als Sie müssen müssen klarstellen, was Sie sagen, es sei denn, Sie sind (Gott bewahre) versuchen, Code daraus zu generieren.
Die beste Anleitung, die ich für UML kenne, ist UML Distilled von Martin Fowler.
Ich habe gerade diesen Link, und es sieht aus wie Sie das tun:/
http://java-x.blogspot.com/2007/01/implementing-visitor-pattern-in-java.html
Uhm, bist du sicher, dass du 'muss', weil ein Typ, der einen Blog hat, das getan hat? –
Bei der Erklärung des Musters ist es nützlich. Als allgemeine Aussage fügt es Komplexität hinzu, ohne Informationen hinzuzufügen. –
Die lustige Sache über UML ist, dass es eine ziemlich locker und abwechslungsreiche Definition hat. Die meisten Dinge, die UML genannt werden, sind eigentlich nicht viel mehr als Blockdiagramme. In jeder UML-Implementierung gibt es viel Unklarheit.
Ich würde sagen, wenn Sie dies für eine Präsentation oder ein Architekturdiagramm tun, können Sie eine Menge der möglichen Mehrdeutigkeit mit "Wörtern" aufpassen. Wenn Sie mithilfe einer Anwendung Code daraus generieren, sollten Sie die Dokumente dieser bestimmten Anwendung überprüfen.
Es ist impliziert und in der Tat, viele CASE-Tools zeigen Ihnen die geerbte Methode als Teil der Liste der Methoden der Unterklasse beim Klicken auf die Klasse beim Betrachten ihrer Eigenschaften (und einige CASE-Tools haben sogar die Option zeigt auch die vererbten Methoden im Diagramm)
+1 für "Gott bewahre". Ich nehme an, dass Sie ein "Skizzierer" von UML und kein MDA-Fan sind, Charlie. Ich stimme dir zu. Ich denke, dass die Flitterwochen der UML als Rettung von Software gekommen und gegangen sind. – duffymo
Ich habe viel von meiner Doktorarbeit über "Computer Aided Software Engineering" gemacht und ich bin nicht überzeugt von der Nützlichkeit von rigorosen Details in UML. –
Wenn wir auf UML Distilled standardisiert hätten, hätte UML möglicherweise einen besseren Lauf gehabt. –