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 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 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 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