UML-Diagramm

ja, dass weiß ich (keine objekte instanziert)... graphisch dargestellt wird eine abstrakte klasse, indem sie glaub ich kursiv geschrieben oder in klammern oder unterstrichen wird. irgendwie so. aber wenn ich eine graphische abbildung habe... wie kann ich daraus die abstrakte klasse bestimmen? dachte, dass die frage so gemeint war...
 
Müssen wir in der Prüfung angeben, ob eine Klasse im UML-Diagramm abstrakt ist?
Wenn eine Klasse abstrakt ist, muss das meiner Ansicht nach auf jeden Fall im Klassendiagramm stehen.

ja, dass weiß ich (keine objekte instanziert)... graphisch dargestellt wird eine abstrakte klasse, indem sie glaub ich kursiv geschrieben oder in klammern oder unterstrichen wird. irgendwie so. aber wenn ich eine graphische abbildung habe... wie kann ich daraus die abstrakte klasse bestimmen? dachte, dass die frage so gemeint war...
Ich habe auch schon beide Notationen von abstrakten Klassen gesehen. Beispiele gibt es auch bei Wikipedia und IBM. Bin mir aber nicht sicher, welche Variante von der Uni bevorzugt wird. Im PC-Ausdruck kann man auf jeden Fall beide Versionen recht einfach erkennen - und per Hand ordentliche Kursivschrift hinzubekommen, hört sich doch etwas unschön an. 😉

an den Pfeilen sind keine Kardinalitäten... daran erkennst du es...
mMn falsch. Eine abstrakte Klasse kann auf jeden Fall Assoziationen mit Kardinalitäten haben.
 
Chapeau,

ich glaube ich weiß was Du meinst.
Schau Dir doch mal als Beispiel EA 1 SS08 Aufgabe 4 an.
Hier ist die Klasse "Teilnehmer" und auch die Klasse "Konferenzzentrum" als abstrakt zu definieren.
Bleiben wir bei dem Beispiel "Teilnehmer": Es wird angenommen, dass die Klasse "Teilnehmer" nur entweder als "Gutachter", "Sprecher" oder als "Moderator" auftreten kann und zwischen diesen einzelnen Teilnehmern so große Unterschiede sind, dass die Oberklasse "Teilnehmer" keine Objekte instanziieren kann.

Ja, hier sind keine Kardinalitäten. Keine Ahnung, ob man das aber als alleinigen Grund nennen kann.

Schau doch auch mal das Beispiel in KE 2 Seite 136/137 an.

In den EAs wird es so geschrieben: {abstrakt} Aber hier keine Sorge, das sollte in der Prüfungsaufgabe stehen, wie man das notieren soll.
 
Schau Dir doch mal als Beispiel EA 1 SS08 Aufgabe 4 an.
Hier ist die Klasse "Teilnehmer" und auch die Klasse "Konferenzzentrum" als abstrakt zu definieren.
"Konferenzzentrum" gibt es in dem Diagramm aber nicht - und wäre höchstwahrscheinlich auch nicht abstrakt.
In den EAs wird es so geschrieben: {abstrakt} Aber hier keine Sorge, das sollte in der Prüfungsaufgabe stehen, wie man das notieren soll.
Denke ich auch. Kursive Handschrift wäre viel zu ungenau, weshalb - wenn überhaupt - wohl die {abstract}-Notation verwendet werden muss. Aber wenn man das wirklich schreiben muss, steht's wohl in der Aufgabe ...
dass die Oberklasse "Teilnehmer" keine Objekte instanziieren kann.
Ich habe den Ausdruck, dass eine "abstrakte Klasse keine Objekte instantiieren kann" schon mehrfach gelesen (glaube auch in EA-Lösungen) ... störe mich aber irgendwie daran, dass das nicht mit der Definition von "Klasse" als "Bauplan für Objekte" übereinstimmen kann. :|
Von einer abstrakten Klasse können keine Objekte instantiiert werden. Das ist aber rein passiv - Klassen können mMn so oder so keine Objekte instantiieren, da sie halt nur der Bauplan sind. Liege ich da irgendwie falsch oder sehe ich das "zu genau"?
 
störe mich aber irgendwie daran, dass das nicht mit der Definition von "Klasse" als "Bauplan für Objekte" übereinstimmen kann. :|
Das schließt sich gegenseitig nicht aus.
Dieser Bauplan einer abstr. Klasse ist ebenso ein "Bauplan für Objekte", der halt noch recht abstrakt gehalten ist, so dass man nicht DIREKT ein Objekt daraus instanziieren kann.
Ist also nur ein Hilfskonstruktionsplan wenn man so möchte.
Aber es bleibt ein Plan.

Grüße
Henrik
 
Genau das meine ich, Henrik. Ich störe mich daran, dass oft die Klasse als aktiver Teil des Instantiieren eines Objekts dargestellt wird. Eigentlich ist die Klasse rein passiv und wird als "Grundlage" für das Objekt benutzt.

Objekte werden generell von anderen Objekten erzeugt (evtl. mit Ausnahme von denen, die von einer Runtime erzeugt werden (Program.Main o. ä.), aber die Spezialfälle kommen in diesem Kurs ja so oder so nicht vor) - niemals von Klassen; Allerdings immer (mit der Ausnahme von nicht 100%-OOP-Sprachen wie z. B. PHP) auf Basis einer Klassendefinition.

Kann sein, dass das in meinem vorherigen Beitrag nicht ganz so herausgekommen ist.
 
Stimm haargenau!
Die Wortwahl im Kurs ist oft und gerade für Leute mit Vorkenntnissen schwierig zu verdauen. Ein stückweit ist der Lehrstuhl daran mitschuld, weil er diese Wortklauberei selbst betreibt.
Ich denke wir erhalten unsere Befriedigung erst mit den folgenden Modulen und können nur auf einen erfolgreichen Abschluss Morgen hoffen
 
@ J L A : "Konferenzzentrum" gibt es in dem Diagramm aber nicht - und wäre höchstwahrscheinlich auch nicht abstrakt.

Doch, Konferenzzentrum gibt es. Wir haben diese Aufgabe sogar in dem Klausurvorbereitungstermin am 05/06.02.11 durchgesprochen. Auf der nächsten Seite (13) ist es der Punkt 6 :" Die Konferenz findet in einem Konferenzzentrum statt, so dass zwei Arten von Räumen zu verwalten sind: Hotelzimmer und Konferenzräume"
Und diese zwei Zimmer lassen sich nicht von den Attributen/Attributwerten zusammenfassen, sodass diese übergeordnete Klasse "Konferenzzentrum" als abstrakt anzusehen ist.
Welchen Begriff hast Du denn bei KL5 stehen?
 
Stimm haargenau!
Die Wortwahl im Kurs ist oft und gerade für Leute mit Vorkenntnissen schwierig zu verdauen. Ein stückweit ist der Lehrstuhl daran mitschuld, weil er diese Wortklauberei selbst betreibt.
Ich denke wir erhalten unsere Befriedigung erst mit den folgenden Modulen und können nur auf einen erfolgreichen Abschluss Morgen hoffen 😉
Ich will's hoffen! 😉
"Konferenzzentrum" gibt es in dem Diagramm aber nicht - und wäre höchstwahrscheinlich auch nicht abstrakt.

Doch, Konferenzzentrum gibt es. Wir haben diese Aufgabe aogar in dem Klausurvorbereitungstermin am 05/06.02.11 durchgesprochen. Auf der nächsten Seite (13) ist es der Punkt 6 :" Die Konferenz findet in einem Konferenzzentrum statt, so dass zwei Arten von Räumen zu verwalten sind: Hotelzimmer und Konferenzräume"
Und diese zwei Zimmer lassen sich nicht von den Attributen/Attributwerten zusammenfassen, sodass diese übergeordnete Klasse "Konferenzzentrum" als abstrakt anzusehen ist.
Welchen Begriff hast Du denn bei KL5 stehen?[/QUOTE]
Habe die spezielle EA noch nicht gemacht, aber laut Musterlösung ist es "Raum {abstract}".
Der Raum ist für die Hotelzimmer und Konferenzräume das, was Teilnehmer für Gutachter, Sprecher und Moderator ist.
Da könnte man auch noch einmal auf die Kardinalitäten zurückkommen: An den Verbindungen von Hotelzimmer/Konferenzraum zu Raum und von Gutachter/Sprecher/Moderator zu Teilnehmer stehen natürlich keine Kardinalitäten, da es keine Assoziation, sondern eine Generalisierung/Vererbung ist. (Erkennbar an dem Pfeil)

Ein Konferenzzentrum könnte in einem solchen Diagramm natürlich auftauchen, dann aber als eigene Klasse, welche per Komposition die Hotelzimmer und Konferenzräume enthält. In der EA-Aufgabe ist das aber so nicht vorgesehen.
 
Oben