Polymorfisme i Java

Innholdsfortegnelse
Innen objektorientert programmering er det 3 grunnleggende søyler, arv, som lar oss få attributter og metoder for en foreldreklasse, innkapsling som lar oss opprettholde metodene og attributtene til en klasse, og som ikke bør sees utenfor den og den tredje som er polymorfisme.
PolymorfismeOrdet polymorfisme kommer fra et gresk ord og betyr at det har mange former, så da kan vi definere at polymorfisme er evnen til å bruke mange former i Java.
For å forstå hva polymorfisme Vi må forstå nøkkelbegrepene, en av dem er typene, en type er definisjonen som genereres fra en klasse, så dette fører til ytterligere to beslektede begreper.
UndertypenNår vi lager en klasse som arver fra en annen, lager vi en undertype, siden det er en type avledet fra en overlegen type, kan vi for eksempel si at hvis vi har en klasse Geometrisk figur og fra dette lager vi en klasse Sirkel som arver det, så definerer sirkelklassen vår en undertype av GeometricFigure.
SupertypenDet er motsatt, når en klasse arves, blir den en superklasse eller foreldreklasse, derfor viser det seg nå å være supertype, det vil si den primære typen eller som hjelper til med å definere dens undertyper, hvis vi følger eksemplet som vi allerede har definert, vil supertypen være klassen Geometrisk figur.
Med dette definerer vi konseptene som vil hjelpe oss å forstå polymorfisme, hvis vi setter eksemplet litt mer omfattende kan vi si at en sirkel alltid vil være av typen Geometrisk figur, men ikke alle typer Geometrisk figur de vil være av typen Sirkel, hvis vi snakker om klassene som vi nettopp har definert, for eksempel hvis vi nå oppretter en underklasse som arver fra klassen Geometrisk figur og det heter Rektangel, nå har vi en ny undertype, som fortsatt er av typen Geometrisk figur men den får en ny form, og her er polymorfismen.
Siden vi har sett teorien om typer, kan vi da si at en underklasse alltid vil være av typen foreldreklasse, men at foreldreklassen ikke vil være av typen underklasse eller barneklasse, med dette kan vi da se følgende eksempel hvor vi i en metode ber om et objekt av typen Geometrisk figurDerfor kan vi motta dens mange former, i dette tilfellet kan vi motta et sirkel- eller rektangelobjekt, siden begge, til tross for at de er forskjellige, deler supertypen.
La oss se på det følgende bildet en kode som viser oss hvordan en metode ville oppføre seg med polymorfisme:

I dette eksemplet forventer visningsobjektmetoden et objekt av typen Geometrisk figur, hvis vi vet at Sirkel og rektangel er underklasser av FigureGeometric, kan vi sende objektene deres til metoden siden de er forskjellige former for FigureGeometric og oppfyller funksjonen.
Vi har allerede lært å bruke den tredje søylen for objektorientering, nå kan vi bygge mer omfattende metoder som kan gjenbrukes i forskjellige implementeringer av programmene våre i Java.Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave