...
| En HighscoreList skal holde styr på heltallsresultater (av typen int/Integer). Lista skal være observerbar ved at den kan registrere lyttere (ListListener-instanser) og si fra til dem når lista blir endret. Lista skal ha en maksimal lengde, som settes i konstruktøren, f.eks. skal en topp 10-liste kunne opprettes med new HighscoreList(10). Nye resultater registreres med metoden addResult(int), som skal finne riktig posisjon og legge resultatet inn (dersom det er godt nok). Dersom lista er for lang, så skal det dårligste resultatet fjernes. Merk at første argument til listChanged-metoden er av typen ObservableList. Dette er en abstrakt superklasse for HighscoreList kalt ObservableList, som innføres i del 3 og som da skal holde orden på lista. ObservableList vil ha en del generelle metoder som HighscoreList arver og kan bruke. For å kunne kjøre testene for HighscoreList allerede i del 1, så må ObservableList være definert fra starten. Lag derfor en tom ObservableList-klasse og bruk denne som superklasse for HighscoreList. Klassediagrammet for HighscoreList, ListListener og ObservableList er vist til venstre. Her er en oversikt over metoden som må implementeres:
|
...