160 likes | 319 Views
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 liegen
E N D
ProgrammiermethodikÜbung 12 Best practices
Musterlösung HA 10 1) Richtig sind a, c, d, e b: discs einmal in die falsche Richtung f: Disc kann nicht auf Post liegen 2) 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 Aktivität: Klassendiagramm:
Anforderungen vereinen In diesem Fall hilft Vererbung: Eine Scheibe liegt nun auf einem Teil, das eine weitere Scheibe oder ein Stab sein kann
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