# Hat-Beziehung



## M.I.G (18. Apr 2008)

Hallo ich hab da ein Problem ich habe versucht eine Hat-Beziehung zwischen 2 Klassen herzustellen, aber ich mach irgendetwas falsch, weil wenn ich ich ein Diagramm in UML erstellen lasse werden die Klassen mit einem einfachen Pfeil miteinander verbunden und nicht mit einer ausgefüllten Raute, wie es bei einer Hat-Beziehung üblich wäre.


```
class cFahrrad extends cVerkehrsmittel
{
  private cGangschaltung Gang;
  
  public cFahrrad(int pRaederAnzahl, String pAntriebsart, int pPersonenkapazitaet)
  {
    super(2,"Mensch",1);
    
    Gang = new cGangschaltung(21,"Kettenschaltung",10);
  }
}
```


```
public class cGangschaltung
{
  private int anzahlDerGaenge;
  private String artDerSchaltung;
  private int aktuellerGang;
  
  public cGangschaltung(int pAnzahlDerGaenge, String pArtDerSchaltung, int pAktuellerGang)
  {
    anzahlDerGaenge = pAnzahlDerGaenge;
    artDerSchaltung = pArtDerSchaltung;
    aktuellerGang = pAktuellerGang;
  }
  
  public void gangSchalten(int neuerGang)
  {
    aktuellerGang = neuerGang;
  }
}
```

Oder kann UML die Beziehungen nicht von alleine erkennen und wenn doch was mache ich falsch?
thx im voraus


----------



## André Uhres (18. Apr 2008)

Nur so ne Idee: mach das Diagramm zuerst so wie du es willst und lass dann die Klassen generieren (falls das überhaupt geht?), dann siehst du ja was rauskommt :wink:


----------



## M.I.G (18. Apr 2008)

Also bei mir klappts nich kann, auch an mir liegen. :roll:  Weiß du denn oder jemand anderes ob das überhaupt eine Hat-Beziehung ist, was ich da fabriziert habe?


----------



## André Uhres (19. Apr 2008)

M.I.G hat gesagt.:
			
		

> ob das überhaupt eine Hat-Beziehung ist, was ich da fabriziert habe?


Sicher. Wenn ein *cFahrrad *erzeugt wird, hat es als Attribut immer ein Objekt vom Typ *cGangschaltung*.
Die hat-Beziehung ist demnach eine Beziehung zwischen *Objekten*, nicht zwischen Klassen, 
was vielleicht für die UMLerstellung ein Problem darstellt.


----------

