Für unser Hunde Beispiel sieht das Klassendiagramm wie folgt aus:Ganz oben steht der Name der Klasse. Eine solche Beziehung heißt Aggregation und wird mit einem Diamantenzeichen im UML Klassendiagramm gekennzeichnet.Eine stärkere Assoziation ist die sogenannte Komposition.Bei diesem Assoziationstyp ist die Beziehung so stark, dass mit dem Löschen des „Behälterobjekts“ auch das integrierte Objekt verschwindet.Denn werfen wir den mit Futter gefüllten Fressnapf weg, verlieren wir auch das darin enthaltene Futter.Eine Komposition kennzeichnen wir mit einem ausgefüllten Diamantzeichen.Entscheidender Unterschied zwischen Aggregation und Komposition ist die stärke der enthält Beziehung.Die Tierheim Instanz enthält lediglich eine Referenz auf das Objekt Daher handelt es sich in diesem Fall um eine Aggregation.Hier erzeugen wir einen mit Futter gefüllten Fressnapf.Das Futter erzeugen wir im Argument des Fressnapf Konstruktors, weshalb das Futter in dem für den Fressnapf reservierten Speicherbereich liegt.Korrekt! Ich hoffen deine Klausur ist gut gelaufen. Machst du mit?Hallo Kim, danke für deine ausführlichen Berichte. Also den Namen und das Gewicht des Hundes.Jedes Attribut hat einen Datentyp, den man durch einen Doppelpunkt getrennt hinter den jeweiligen Attributs-Namen schreibt.Die Methoden werden samt Parameterliste und Rückgabewert im unteren Teil des UML Klassendiagramms aufgeführt wobei der Datentyp des Rückgabewerts hinter dem Doppelpunkt steht.Wir haben es hier mit einem ziemlich einfach gestrickten Hund zu tun. definierte Methoden sollen nur innerhalb der Klasse selbst und allen Unterklassen sichtbar sein.Im UML Klassendiagramm kennzeichnen wir die Sichtbarkeit protected mit Hilfe des Hashzeichen #.Bisher handelte es sich bei unseren Attributen immer um Instanz-variablen. Viele Grüße KimDanke Kim, ich lerne auch für eine Prüfung(Modellierung und Design Patterns) und wie du alles hier erklärt hast finde ich einfach super verständlich!Du wirst sicherlich ein großartiger Programmierer, vielleicht sogar einer der besten unserer Zeit. Jede Klasse hat einen Namen, Eigenschaften (auch Attribute genannt) und Methoden.Aus Klassen erzeugen wir konkrete Objekte (instanziieren).
Lass uns das Klassendiagramm von oben um eine Klassenvariable, mit der wir die Anzahl der erzeugten Hunde zählen können ergänzen.Das war einfach, oder? %PDF-1.5 %���� Viele Grüße Kimwie wird die Vererbung im Programm implementiert?
Klassendiagramm (Class Diagram) Abbildung1:ÜbersichtDiagrammtypenUML 2 Strukturdiagramme 2.1 Klassendiagramm DerDiagrammtypKlassendiagramm dientdazu,eineodermehrereKlassen,unabhängigvonderSprache in der sie implementiert wurden/werden sollen, abzubilden. Mach weiter so!Kim Peter, bin in der Schule auf deine Seite gestoßen, finde sie megaHallo Herr Peter, ihr Bericht hat mir schon sehr weitergeholfen. Erweitern wir unser UML Klassendiagramm also erneut.Da die Version der Klasse für jede Instanz des Hundes die gleiche ist, handelt es sich bei der Variablen Ziel unserer Anstrengungnen ist ein lauffähiges Programm.Alle unsere bisherigen Bemühungen bringen uns nur etwas, wenn wir das Klassendiagramm möglichst leicht in Java Quellcode übersetzen können.Und genau hierum wollen wir uns als nächstes kümmern.Hier der aus dem Klassendiagramm erzeugte Quellcode.In den Zeilen zwei und drei deklarieren wir die primitiven Attribute Anschließend verwenden wir eine Array Liste um die Lieblingsspielzeuge, und ein Zu guter letzt fügen wir in den Zeilen sechs und sieben noch die statische Zählervariable In den Zeilen acht bis zwölf sind die Methoden aufgeführt.Hieraus wird auch klar was das UML Klassendiagramm NICHT leisten kann. Was machen wir aber, wenn wir Arrays oder Array-Listen verwenden wollen?Natürlich hat unser Hund drei Lieblingsspielzeuge, nämlich Frauchen, Lego und einen Baseballschläger.Wir benötigen also ein Array, das diese drei Elemente in der angegebenen Reihenfolge aufnehmen kann.Hierzu schreiben wir die sogenannte Multiplizität [1..3] und das Kennzeichen {order} hinter das Attribut, das die Spielzeuge aufnimmt.Über die Multiplizität [1..3] legen wir die Kapazität des Arrays fest. Name und Gewicht eines Hundes.Methoden beschreiben hingegen das Verhalten eines Objekts und geben ihm Fähigkeiten, wie z.B.
Jede Instanz unserer Hunde Klasse beansprucht also einen eigenen getrennten Speicherbereich.Was ist aber wenn wir die Anzahl der erzeugten Hunde-Objekte zählen wollen?Für diesen Zweck benötigen wir EINE Integer-Variable, auf die alle Hunde-Instanzen Zugriff haben.Eine solche Variable wird Klassenvariable genannt und in Java mittels des Schlüsselworts Im UML Klassendiagramm werden Klassenvariablen mit Hilfe eines Unterstrichs gekennzeichnet.Los! U���2���k��KF.