Polymorfism, ett begrepp som härstammar från grekiskans ’poly’ vilket betyder ’många’, och ’morph’, vilket betyder ’former’, är en metod för att generellt hantera olika datatyper. I programmering används polymorfism för att tillåta olika objekt att dela på samma gränssnitt eller metod men hantera de olika datatyperna på olika sätt. Detta möjliggör för programmerare att skriva mer generell och samtidigt dynamisk kod.
Metoden bakom polymorfism är att programmet identifierar vilken sorts objekt eller data som det hanterar, och väljer därefter vilken version av metoden som ska användas. Det är programmeraren som skapar dessa metoder och anger hur de ska fungera för varje datatyp som kan hanteras. Ett enkelt exempel på polymorfism är en metod som räknar ut området av en figur. Metoden kan hantera olika typer av figurer, som rektanglar, trianglar, och cirklar, och räknar ut området genom att använda den version av metoden som har definierats för varje specifikt figur.
Polymorfism anses vara en av de tre huvudprinciperna inom objektorienterad programmering, tillsammans med inkapsling och arv. Genom att använda dessa koncept kan programmerare skapa mer ändamålsenlig och effektiv kod, som är lätt att underhålla och bygga vidare på. Polymorfism i programmering förenklar hanteringen av komplexa system och möjliggör för större flexibilitet och skalbarhet i kod.