Moin,
Sorry, aber ich finde einfach kein gutes Java-Forum, hoffentlich ist hier jemand trotzdem in Java etwas fit. Der Code ist wirklich nicht kompliziert und eigentlich muss man nur wissen wie
UML Diagramme funktionieren.
Also ich habe eine Beispielprojekt von dem ich jetzt ein
UML Diagramm zu Verständnisszwecken malen will:
Ich habe drei Klassen: Die Klasse Bankkonto. Die Klasse BankkontoGUI und die Mainklasse.
In BankkontoGUI (Subclass von JFrame) befindet sich einfach eine
GUI mit der einzahlungen vorgenommen werden können.
Die Klasse Bankkonto hat nur drei Methoden: getKontostand(), einzahlen(double betrag) und abheben(double betrag).
In der Mainklasse wird ein Objekt von der Klasse Bankkonto erstellt. Dann wird ein Objekt der Klasse BankkontoGUI erstellt. In dessen Konstruktoraufruf übergibt man das eben erstellte Objekt von Bankkonto damit die BankkontoGUI auf die einzahlen und abheben Methoden zugreifen kann.
Jetzt meine Frage:
Also BankkontoGUI hat auf jedenfall erstmal einen durchgezogenen Pfeil mit hohler Dreiecksspitze zu JFrame. Das ist klar.
Doch wie zeige ich an, dass BankkontoGUI eine Instanzvariable von Bankkonto "besitzt" ?
Ich habe noch zwei Pfeilarten zur Auswahl:
- "– “has-a”-Beziehung (Aggregation) als Pfeil mit Rautenspitze.
(Realisierung in Java durch Instanzvariablen)"
Kann ich mir garnichts drunter vorstellen um ehrlich zu sein.
– “uses”-Beziehung als gestrichelter Pfeil oder auch gestrichelte
Verbindung. (Realisierung in Java auf verschiedene Arten: ruft
Methode auf, has-a, erzeugt, . . .
Würde gut passen denke ich. Weil BankktonoGUI ruft Methoden von Bankkonto auf, also ein Uses-Pfeil von BankkontoGUI zu Bankkonto?
Also ich habe mir das jetzt ein bisschen so zusammengereimt: Immer dann wenn man eine andere Klasse benutzt, eine Methode von ihr aufruft z.B., zeichnet man eine uses-Verbindung. Z.B. auch wenn man in einer Klasse die Klasse Point importiert um z.B. einer anderen Klasse zwei Punkte zu übergeben die dann gezeichnet werden oder sowas.
Den Is-A Pfeil zeichnet man bei Vererbung, das ist klar.
Und wann benutze ich eine Aggregation?
Ich weiss das dass hier ein Delphi Forum ist...wie gesagt, hoffentlich kann jemand ein wenig Java
Vielen Dank.