# UML Diagramm so richtig?



## gurkensalat (25. Nov 2011)

Hallo,

ich habe folgende zwei Klassen und Interface:

```
public class Auto{
   private Reifen reifen = new Winterreifen();
}

public class Winterreifen implements Reifen{
   public void quietsch(){...}
}

public interface Reifen{
  public void quietsch()
}
```

Meine Frage ist nun, wenn ich das in einem UML-Klassendiagramm darstellen will, ob das so richtig ist, wie ich es gemacht habe?





Vielen Dank für eure Hilfe!


----------



## tfa (25. Nov 2011)

Welches UML-Diagramm? Ich seh nichts.


----------



## gurkensalat (25. Nov 2011)

Komisch, ich sehe es. habe es als bild in den post eingefügt. hier ist die URL: http://img10.imageshack.us/img10/5517/bildschirmfoto20111125u.png


----------



## ARadauer (25. Nov 2011)

uses... mhn eher has...


----------



## tfa (25. Nov 2011)

Ach Mist. Ich bin in der Firma. Verdammter Webfilter...

Die Verbindung von Auto zu Reifen würd ich auch eher als "has" sehen.


----------



## gurkensalat (25. Nov 2011)

okay danke. aber die pfeile etc passen oder?
kann man das interface so darstellen? ich habe nämlich auch interface-darstellungen gesehen, die nur ein kreis sind.


----------



## Andi_CH (25. Nov 2011)

Ich kenne has und uses Beziehungen als Assoziationen (Linien) mit kleinen Kreisen - bei has ist der gefüllt, uses ist er leer und die Linien sind ausgezogen. Die Pfeile werden zwar oft noch gezeichnet, sind aber eigentlich unnötig, weil die Kreise schon beschreiben wer wenn "hased" oder "used"

Aber vielleicht gibt es da unterschiedliche Vorstellungen.


----------



## tfa (25. Nov 2011)

Wahrscheinlich ist hier die Lollipop-Notation für Interfaces gemeint.
Schnittstelle (UML) ? Wikipedia
ich mag lieber Kästchen.


----------



## thn-d (28. Nov 2011)

Dein Klassendiagramm würde ich genauso machen, bis auf 2 Änderungen (auch wenn deine Lösung auch richtig ist):

- das Attribut "reifen" aus "Auto" entfernen, dafür
- den Pfeil von "Auto" zu "<interface>Reifen" als Assoziation malen

Die Assoziation ist eine durchgezogene Linie. Ich würde sie gerichtet malen, also mit Pfeilspitze an "Reifen". Dieses Ende würde ich mit "reifen" beschriften (also wie die Variable heißt), dazu eine "1" als Multiplizität. Kann man dann auch schön zu einer "4" machen, weil dann das Auto besser rollt. ;-)

Das gleiche Ergebnis kriege ich übrigens auch, wenn ich Deinen Code mit dem kostenlosen Tool ArgoUML importiere. Das ist ne prima Kontrolle, ob man's "richtig" gemacht hat.


----------

