Ankündigung

Einklappen
Keine Ankündigung bisher.

Java Hilfe UML Klassendiagram

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Java Hilfe UML Klassendiagram

    Hallo und einen frohen Feiertag an alle :)

    Ich nutze diesen tollen Tag um bisschen was zu lernen und benötige bitte Hilfe, da ich keine Lösung habe und es ehrlichgesagt heute zum ersten Mal ein UML Diagramm erstelle.
    Aufgabenstellung ist folgende:

    Spoiler: 
    Entwickeln Sie ein Beispiel für eine dreistufige Vererbungskette von Java-Klassen und stellen Sie die Vererbungsstruktur als UML-Klassendiagramm dar, wobei insbesondere die jeweiligen Diskriminatoren anzugeben sind.

    Beachten Sie, dass Klassen immer die gemeinsamen Eigenschaften einer Gruppe von Objekten modellieren. Eine Klassenhierarchie ist eine Abfolge von Spezialisierungen. Daher sollten Ihre Klassen so abgegrenzt werden, dass auf jeder Erbstufe speziellere Eigenschaften zu den Eigenschaften der generelleren Klassen hinzutreten.


    Ich habe mit Eclipse das ganze versucht jedoch ist das wohl deutlich komplexer, da man die Klassen hierfür erstellen muss?
    Über Luciidchart habe ich nun folgendes earbeitet: https://abload.de/img/unbenannt3sk76.jpg
    Ist es einigermassen korrekt? Ehrlichgesagt habe ich keine Ahnung was eine dreistuffige Vererbungskette ist, ich nehme an die "linke Seite" wäre ausrecihend gewesen?


    Vielen Dank vorab.

    #2
    jede Katze ist ein Haustier und jedes Haustier ist ein Tierheim? Wenn, dann hat jedes Tierheim vllt eine Liste von Haustieren/Nutztieren, aber eine Vererbung macht da nicht Sinn. Bei dir würde ja jede Katze eine Variable "Zulässige Anzahl der Tiere haben".

    Kommentar


      #3
      Bin nicht mehr so fitt in UML-Diagrammen, aber zusätzlich zu dem, was raptrr (Tiere und Tierheim können in einer Beziehung stehen, haben aber kein Verwandtschaftsverhältnis) schreibt: "Prüfe Alter" und "Liebslingsfutter" teilen sich alle Tiere, das sollte also in einer gemeinsamen Elternklasse liegen.
      Sinnvoll wäre vermutlich sowas wie: Tier -> Haustier/Nutztier -> Einzeltiere. Tier kann Alter und Lieblingsfutter haben, Haustier vlt. noch 'nen Namen, und Nutztiere ... keine Ahnung. Zugkraft?
      Auf jeden Falls sollte es Unterschiede zwischen Haus- und Nutztieren und zwischen den Einzeltieren geben. Sonst könnteste auch einfach eine Klasse "Tier" mit Alter, Lieblingsfutter und Tiername (Hund, Katze, Perd, Esel) machen, da brauchste keine Vererbung. Genauso, wenn Nutztiere nix unterscheidet oder der Name, brauchste da auch keine zusätzlichen Kinder. Dann reicht eine Nutztierklasse mit Tiername. Analog bei den Haustieren. Jedes Kind sollte was Neues mitbringen, sonst braucht man dafür keine zusätzlichen Klassen.
      Zuletzt geändert von Nichtuntertoetet; 01.06.2020, 16:01.

      Kommentar


        #4
        Dein Beispiel passt schon fast, Tierheim macht nur ganz oben keinen Sinn. Wenn du das stattdessen gegen Tier tauschst und ein paar passende allgemeine Funktionen / Attribute benennst bzw nach oben ziehst (prüfe Alter von Nutztier/Haustier kann etwa zu Tier), ist es richtig. Ansonsten würde ich das Klassendiagramm noch mit weniger Pseudocode versehen, fertig

        Kommentar


          #5
          Zitat von michi- Beitrag anzeigen
          Dein Beispiel passt schon fast, Tierheim macht nur ganz oben keinen Sinn. Wenn du das stattdessen gegen Tier tauschst und ein paar passende allgemeine Funktionen / Attribute benennst bzw nach oben ziehst (prüfe Alter von Nutztier/Haustier kann etwa zu Tier), ist es richtig. Ansonsten würde ich das Klassendiagramm noch mit weniger Pseudocode versehen, fertig
          Ok danke, würde dann Tierheim statt Tier schreiben.
          Welche Attribute meinst du genau?
          Meinst du mit Pseudocode :string? das wollte ich eigentlich rausnehmen.

          Danke auch an alle die etwas gepostet haben :)

          Kommentar

          Lädt...
          X