Programmiermethodik Übung 12 Best practices. Musterlösung Übung 10.
-
Upload
dederick-neth -
Category
Documents
-
view
122 -
download
0
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