Generics er et viktig verktøy i Java og noe vi allerede har brukt så langt, uten å vite det. Du har sikkert brukt ``List<>`` og ``ArrayList<>`` til å holde en gruppe objekter. Det som er praktisk med disse er at de kan holde på hva som helst! Nettopp fordi de er *generiske*. Du kan sette et hvilket som helst typenavn i ``<>`` og listen vil da kunne holde på den typen objekter.
Generics er et viktig verktøy i Java og noe vi allerede har brukt så langt, uten å vite det. Du har sikkert brukt ``List<>`` og ``ArrayList<>`` til å holde en gruppe objekter. Det som er praktisk med disse er at de kan holde på hva som helst! Nettopp fordi de er *generiske*. Du kan sette et hvilket som helst typenavn i ``<>`` og listen vil da kunne holde på den typen objekter.
I denne laben skal vi ta utgangspunkt i ``ColorGrid`` fra lab4 og gjøre den generisk sammen med et nytt grid: TextGrid. Dette vil gjøre at vi kan lage grids for andre formål også, som vi kommer tilbake til i den første obligatoriske oppgaven. Filene til ColorGrid som følger med her er et løsningsforslag, men om du har en fungerende løsning fra forrige lab kan du gjerne bruke den i stedet.
I denne laben skal vi ta utgangspunkt i ``ColorGrid`` som ligner mye på `Grid` fra lab4. Dette gridet lagrer `Color`-objekter istedenfor `Character` som vi har jobbet med før.
Dette griddet skal vi skrive om til å være generisk sammen med et nytt grid: TextGrid. Dette vil gjøre at vi kan lage grids for andre formål også, som vi kommer tilbake til i den første obligatoriske oppgaven. Filene til ColorGrid som følger med her er et løsningsforslag, men om du har en fungerende løsning fra forrige lab kan du gjerne bruke den i stedet.
I TextGrid kan man i stedet for farger, fylle en boks med en tekstbit, for eksempel et ord. Da kan du lage en ukekalender som dette:
I TextGrid kan man i stedet for farger, fylle en boks med en tekstbit, for eksempel et ord. Da kan du lage en ukekalender som dette: