Hva er polymorfisme?
Polymorfisme er et grunnleggende konsept i objektorientert programmering. Det gjør at et objekt kan bli referert til på forskjellige måter, avhengig av konteksten det brukes i.
Hvordan fungerer polymorfisme?
Polymorfisme er basert på ideen om at et objekt kan ha forskjellige former. Dette betyr at et objekt i en spesifikk klasse kan behandles som et objekt for en mer generisk klasse, så lenge den mest generiske klassen er en superklasse i den spesifikke klassen.
Tenk deg for eksempel at vi har en klasse som heter “Animal” og to klasser som arver fra den: “hund” og “katt”. Vi kan lage en liste over dyr og legge til både “hund” -klasseobjekter og “katt” klasseobjekter på denne listen. Selv om de er gjenstander fra forskjellige klasser, kan de behandles som objekter i “Animal” -klassen, som “hund” og “katt” er underklasser av “dyr”.
Fordeler med polymorfisme
Polymorfisme har flere fordeler for objektorientert programmering:
- Kode gjenbruk: Når vi bruker polymorfisme, kan vi lage generiske metoder som fungerer for forskjellige objekttyper.
- Fleksibilitet: Polymorfisme gjør at koden kan være mer fleksibel og tilpasningsdyktig til fremtidige endringer.
- Lesbarhet: Bruken av polymorfisme gjør koden mer lesbar, da vi kan behandle objekter i forskjellige klasser jevnt.
Eksempel på Java Polymorphism
La oss se et eksempel på polymorfisme i Java:
I eksemplet ovenfor har vi en “dyr” -klasse med en “EMIT ()” -metode. “Hunden” og “katt” -klasser arver fra “dyr” og har også “EMIT ()” -metoden.
Nå kan vi lage en liste over dyr og legge til begge objektene i “Dog” -klassen og “katt” -klasseobjekter på denne listen. Vi kan kalle metoden “emitsom ()” for hvert objekt på listen, og hvert objekt vil gi lyden som tilsvarer dens spesifikke klasse.