Polymorfism i Java

Innehållsförteckning
Inom objektorienterad programmering finns det tre grundläggande pelare, arv, vilket gör att vi kan få attribut och metoder för en föräldraklass, inkapsling som tillåter oss att behålla metoderna och attributen för en klass och som inte bör ses utanför den och den tredje som är polymorfism.
PolymorfismOrdet polymorfism kommer från ett grekiskt ord och betyder att det har många former, så då kan vi definiera att polymorfism är förmågan att använda många former i Java.
För att förstå vad polymorfism Vi måste förstå nyckelbegreppen, en av dem är typerna, en typ är definitionen som genereras från en klass, så detta leder till ytterligare två relaterade begrepp.
UndertypenNär vi skapar en klass som ärver från en annan skapar vi en undertyp, eftersom det är en typ som härrör från en överlägsen typ, kan vi till exempel säga att om vi har en klass Geometrisk figur och utifrån detta skapar vi en klass Cirkel som ärver det, definierar vår cirkelklass en undertyp av GeometricFigure.
SupertypenDet är motsatsen, när en klass ärvs blir det en superklass eller föräldraklass, därför visar det sig nu vara supertyp, det vill säga den primära typen eller som hjälper till att definiera dess undertyper, om vi följer exemplet som vi redan definierat, skulle supertypen vara klassen Geometrisk figur.
Med detta definierar vi begreppen som hjälper oss att förstå polymorfism, om vi sätter exemplet lite mer omfattande kan vi säga att en cirkel alltid kommer att vara av den typen Geometrisk figur, men inte alla typer av Geometrisk figur de kommer att vara av typen Cirkel, om vi pratar om de klasser som vi just har definierat, till exempel om vi nu skapar en underklass som ärver från klassen Geometrisk figur och det heter Rektangel, nu har vi en ny undertyp, som fortfarande är av typen Geometrisk figur men den får en ny form och här är polymorfismen.
Eftersom vi har sett teorin om typer kan vi då säga att en underklass alltid kommer att vara av typen av sin förälderklass, men att föräldraklassen inte kommer att vara av typen av sin underklass eller barnklass, med detta kan vi sedan se följande exempel där vi i en metod ber om ett objekt av typen Geometrisk figurDärför kan vi ta emot dess många former, i det här fallet kan vi ta emot ett cirkel- eller rektangelobjekt, eftersom båda, trots att de är olika, delar supertypen.
Låt oss se i följande bild en kod som visar oss hur en metod skulle bete sig med polymorfism:

I det här exemplet förväntar sig show -objektmetoden ett objekt av typ Geometrisk figur, om vi vet att cirkel och rektangel är underklasser av FigureGeometric, då kan vi överföra deras objekt till metoden eftersom de är olika former av FigureGeometric och uppfyller funktionen.
Vi har redan lärt oss att använda den tredje pelaren för objektorientering, nu kan vi bygga mer omfattande metoder som kan återanvändas i olika implementeringar av våra program i Java.Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave