Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

3. Klassendiagramme in Java implementieren

Ähnliche Präsentationen


Präsentation zum Thema: "3. Klassendiagramme in Java implementieren"—  Präsentation transkript:

1 3. Klassendiagramme in Java implementieren
Gliederung: Einführung Objektdiagramme zur Analyse von Beispielen Klassendiagramme in Java implementieren Methodenentwurf Test-First Prinzip Story Driven Modeling Zusammenfassung Programmiermethodik SS © 2007 Albert Zündorf, University of Kassel

2 Motivation: rettet Prinz(essin) Ada
Aufgabe: Wegesuche Handicaps: Räume kosten genaue Geldmenge ausgeben versteckte Geschenke Fallen . . . Programmiermethodik SS © 2007 Albert Zündorf, University of Kassel

3 Alternative Modellierungen
p1 :Person name = "Ada" in r2 :Raum kosten = 0 s7 :Schluessel hat t3 :Tuer locked = true in hat hat hat r4 :Raum kosten = 12 t5 :Tuer locked = false r6 :Raum kosten = 10 Programmiermethodik SS © 2007 Albert Zündorf, University of Kassel

4 Klassen als Baupläne für Objekte
hat Person name : String geld : Integer Schluessel in in oeffnet hat in Geschenk name : String Raum kosten : Integer Tuer locked : Boolean Programmiermethodik SS © 2007 Albert Zündorf, University of Kassel

5 Klassendiagramme "Syntax" von Klassendiagrammen: kommt gleich
Semantik von Klassendiagrammen aus extensionaler Sicht: Menge aller "gültigen" Objektdiagramme / Momentaufnahmen und Szenarios (siehe Verhaltensdiagramme) ein Objektdiagramm / eine Momentaufnahme ist "gültig" wenn: alle verwendeten Klassen sind deklariert alle benutzten Attribute sind deklariert und werden typkonform verwendet für jeden Link gibt es eine Assoziation zwischen den entsprechenden Klassen die Kardinialiätsangaben der Assoziationen werden nicht verletzt . . . Programmiermethodik SS © 2007 Albert Zündorf, University of Kassel

6 Implementierung: public class Raum { } Raum … Raum r = new Raum (); …
Struktur Daten Verhalten Raum r = new Raum (); … r = new Raum (); … :Raum :Raum Programmiermethodik SS © 2007 Albert Zündorf, University of Kassel

7 Implementierung: public class Raum { … Raum public int kosten; … }
kosten : Integer Struktur Daten Verhalten if (r.kosten <= 0) { r.kosten = 12; } :Raum kosten = 5 :Raum kosten = -1 Programmiermethodik SS © 2007 Albert Zündorf, University of Kassel

8 Implementierung: public class Raum { public void kassieren (Person p) { … } … } Raum kassieren (p:Person) Struktur Daten Verhalten :Raum kosten = 8 :Raum kosten = 12 r.kassieren (p); :Person geld = 50 :Person geld = 100 Programmiermethodik SS © 2007 Albert Zündorf, University of Kassel

9 Implementierung: Schluessel Tuer locked :Boolean
public class Schluessel { Tuer tuer; } public class Tuer { Schluessel oeffner; Schluessel oeffner 0..1 oeffnet tuer 0..1 Tuer locked :Boolean Struktur Daten Verhalten … t = new Tuer (); … t = new Tuer (); s = new Schluessel (); t.locked = true; s.tuer = t; t.oeffner = s; … :Schluessel :Tuer locked = false :Tuer locked = false Programmiermethodik SS © 2007 Albert Zündorf, University of Kassel

10 Implementierung: Schluessel Tuer locked :Boolean
public class Schluessel { Tuer tuer; } public class Tuer { Schluessel oeffner; Schluessel oeffner 0..1 oeffnet tuer 0..1 Tuer locked :Boolean Struktur Daten Verhalten … if (t.locked) { Schluessel s = t.hat; if (s.besitzer == p) { :Schluessel :Tuer locked = false oeffnet :Tuer locked = false Programmiermethodik SS © 2007 Albert Zündorf, University of Kassel

11 Implementierung: Person Raum … p.in = r; r.gaeste.add (p); …
public class Person { Raum in; } import java.util.*; public class Raum { List gaeste; } Person gaeste 0..n in in 0..1 Raum Struktur Daten Verhalten … p.in = r; r.gaeste.add (p); … p.in = r; r.gaeste.add (p); … :Person geld = 50 geld = 100 :Raum kosten = 8 kosten = 12 Programmiermethodik SS © 2007 Albert Zündorf, University of Kassel

12 Implementierung: Person Raum
public class Person { Raum in; } import java.util.*; public class Raum { List gaeste; } Person gaeste 0..n in in 0..1 Raum Struktur Daten Verhalten … for (Person p : r.gaeste ) { p.geld = p.geld – r.kosten; } … :Person geld = 50 geld = 100 :Raum kosten = 8 kosten = 12 Programmiermethodik SS © 2007 Albert Zündorf, University of Kassel

13 Syntax von Klassendiagrammen (UML)
Programmiermethodik SS © 2007 Albert Zündorf, University of Kassel

14 "Syntax" von Objektdiagrammen:
Programmiermethodik SS © 2007 Albert Zündorf, University of Kassel

15 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel

16 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel

17 Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel


Herunterladen ppt "3. Klassendiagramme in Java implementieren"

Ähnliche Präsentationen


Google-Anzeigen