Programmiermethodik Übung 12 Best practices. Musterlösung Übung 10.

Post on 05-Apr-2015

122 views 0 download

Transcript of Programmiermethodik Übung 12 Best practices. Musterlösung Übung 10.

ProgrammiermethodikÜbung 12

Best practices

Musterlösung Übung 10

Musterlösungen Übung 10

Musterlösung Übung 10

Musterlösung HA 10

1) Richtig sind a, c, d, e

b: discs einmal in die falsche Richtung

f: Disc kann nicht auf Post liegen2) 4) (Alternativen möglich)

3) Richtig ist nur a

b: Nodes können keine Nodes haben, kein name

c: Node erbt nicht von Item

d: Nodes können keine Nodes haben

Geschicktes Design vereinfacht Code

Klassendiagramm:

Aktivität:

Aber Design sollte auch ‚sinnvoll‘ sein

Macht, wenn man nicht aufpasst, den Code komplizierter

Anforderungen vereinen

In diesem Fall hilft Vererbung:

Eine Scheibe liegt nun auf einem Teil, das eine weitere Scheibe oder ein Stab sein kann

Code wieder einfacher

Modellierungsaternativen

• „Wenn keine Scheibe über der aktuellen ist“

Modellierungsaternativen

• „Wenn keine Scheibe über der aktuellen ist“

Wenn nicht mind. eine Scheibe über der aktuellen ist

Modellierungsaternativen

• „Wenn keine Scheibe über der aktuellen ist“

Modellierungsaternativen

• „Wenn keine Scheibe über der aktuellen ist“

if ( aktuelleScheibe.getAbove() == null )

{

// weiter

}

// ende

if ( aktuelleScheibe.sizeOfAbove() == 0 )

{

// weiter

}

// ende

Praxisteil

• Installiere Fujaba 5.0.4 final• Es soll eine verkettete Liste programmiert werden, in der

Dateien und Ordner abgelegt werden können. Beispiel:

• Fujaba macht daraus dieses ungeschickte Klassendiagramm:

• Entwerfe ein geschickteres Klassendigramm mit Vererbung und implementiere die Methode Datei::fügeHintenAn(Datei erstesListenElement)

– die an das Ende der Liste läuft und dort die Datei ‚this‘ anfügt

Praxisteil

• Zusatzaufgabe:– Füge ein Attribut ‚size: Integer‘ hinzu– Implementiere einen Sortieralgorithmus deiner

Wahl, der nach Datei-/Ordergröße sortiert– Beeindrucke die Betreuer mit deiner Lösung