# Øving 07: Arv og abstrakte klasser **Øvingsmål** * Lære hvordan arv-mekansimen brukes i OO * Lære om instanser, typer, deklarasjoner og tilordninger * Lære om sub- og superklasser samt om synlighetsmodifikatorer som brukes ved arv * Lære om abstrakte klasser, deres bruksområder og fordeler **Øvingskrav** * Kunne bruke arv til å modellerere enkle(re) objektstrukturer- og relasjoner i Java * Kunne la flere subklasser bruke funksjonalitet definert i samme superklasse * Kunne la en subklasse redefinere metoder definert i en superklasse * Kunne samle felles oppførsel til to eller flere subklasser i en felles abstrakt klasse ## Dette må du gjøre Oppgavene skal lagres i `ovinger/src/main/java/inheritance`. I begge delene er antageligvis vanskelighetsgraden stigende. Alle er høyst eksamensrelevante og det anbefales følgelig å ta en titt på samtlige. ### Del 1: Arv Velg og gjennomfør *minst én* av oppgavene om arv: * [CardContainerImpl](./CardContainerImpl.md) * [Train](./Train.md) * [SavingsAccount](./SavingsAccount.md) ### Del 2: Abstrakte klasser og arv Velg og gjennomfør *minst én* av oppgavene om abstrakte klasser og arv: * [AbstractAccount](./AbstractAccount.md) * [ObservableList](./ObservableList.md) ### Hjelp / mistanke om bugs Ved spørsmål eller behov for hjelp konsulter studassen din i saltiden hans / hennes. Du kan også oppsøke andre studasser på sal eller legge ut et innlegg på [Piazza](https://piazza.com/). ### Godkjenning Last opp kildekode på Blackboard innen den angitte innleveringsfristen. Innlevert kode skal demonstreres for en læringsassistent innen én uke etter innleveringsfrist. Se for øvrig Blackboard-sidene for informasjon rundt organisering av øvingsopplegget og det tilhørende øvingsreglementet.