OOP-prinsipp for metoder med samme navn i superklasse og subklasser
Lov på eksamen
- Datamaskin med programmeringsverktøy
- Lærebok, dokumentasjon og egne notater og programmer
Ikke åpent internett (bare noen utvalgte nettressurser), kommunikasjon med andre eller kunstig intelligens.
Kan den løses uten PC?
Kan løses med penn og papir. Du trenger ikke kalkulator.
Fra 2027 er det bare kalkulator og skriftlige hjelpemidler på del 2. Vurderingen er gjort med KI og kan inneholde feil.
En utvikler som lager et objektorientert program, oppdager at flere av klassene har like eller liknende metoder og egenskaper. Utvikleren velger å generalisere de felles metodene og egenskapene til en superklasse, men beholder spesialiserte varianter av metodene i subklassene.
Hvilket prinsipp i objektorientering innebærer at metodene kan ha samme navn i superklassen og subklassene og likevel kalles riktig på objektene? Velg riktig svar.
Fasit
Polymorfisme.
LøsningsforslagKI-generert
Polymorfisme betyr «mange former». Når en subklasse har en metode med samme navn som i superklassen, overstyrer den superklassens versjon. Programmet kan kalle metoden på et objekt uten å vite hvilken subklasse objektet tilhører, og det er alltid versjonen i objektets egen klasse som blir kjørt.
Et eksempel: Superklassen Dyr har metoden lagLyd(), og subklassene Hund og Katt har hver sin versjon. Går vi gjennom en liste med dyr og kaller lagLyd() på hvert av dem, bjeffer hundene og mjauer kattene.
De andre alternativene:
- Arv er det som lar subklassene få egenskapene og metodene fra superklassen. Arv er en forutsetning for situasjonen i oppgaven, men det er polymorfisme som sørger for at riktig variant av metoden blir kalt.
- Abstraksjon handler om å beskrive hva et objekt gjør, uten å vise hvordan det er implementert.
- Innkapsling handler om å samle data og metoder i et objekt og skjule de interne dataene for resten av programmet.
Sensorveiledning
Oppgaven gir til sammen 1,5 poeng
«polymorfisme» vurderes som riktig.