Unified Modeling Language Aufgabe so richtig?

1 Antwort

1) Die Namen solltest du auf jeden Fall überarbeiten. Klassen werden mit einem Substantiv benannt. Vorzugsweise sind diese im Singular formuliert, wenn sie nicht wirklich eine Kollektion darstellen (Bspw.: Produkt > ProduktKollektion). Eigenschaften wiederum kennzeichnen Interfaces aus. Ist immatrikuliert ein Interface?

Wenn ja, wäre Studierende ebenfalls ein Interface und der Pfeil zwischen beiden müsste mit gestrichelten Linien dargestellt werden (abgesehen vom Pfeilkopf, der bliebe so). Das Gleiche würde für Gastzuhörer ---> Studierende gelten. Die Felder in den Interfaces würden zu Konstanten werden. Also generell - nein, immatrikuliert ist wohl erst einmal kein Interface. Nur Studierende zu einem Interface zu machen, wäre stattdessen ok.

Namen wie nameModul sind nicht gut lesbar. Stattdessen wäre modulName sinniger. Da die Klasse aber bereits Modul heißt, reicht name völlig. Das Gleiche gilt bei Studiengang oder Student (statt Studierende).

2) Wenn Studierende zwei konkrete Subtypen (immatrikuliert und Gastzuhörer) hat, ist es unsinnig, für diesen Typ nochmals zwei Felder zu definieren, die die Eigenschaften darstellen, die nur die Subtypen haben können.

3) Den Namen des Studenten kannst du doch in Studierende setzen, wenn er eh in beiden Subtypen benötigt wird.