Multipelt arv, när man talar om objektorienterade programmeringsspråk (OOP), är en term som hänvisar till en klass som ärver funktionalitet från mer än en överordnad klass. Termen kan inte förstås helt utan att förstå vad en klass är. En mycket kort definition av en klass är en uppsättning programmeringsinstruktioner eller kod på ett OOP-språk som beskriver och är essensen av en entitet. Klasser definierar alla egenskaper hos en entitet och innehåller alla metoder som krävs för att manipulera dessa egenskaper.
Beroende på vilket program som kodas kan det finnas ett behov av att skriva många klasser som har saker gemensamt men som behöver förbli distinkta enheter. Det är här multipelt arv kommer in i bilden. Till exempel skulle tekniska framsteg som skulle göra det möjligt att bygga en ubåt som kan flyga som ett flygplan eller ett flygplan som kan sjunka under vatten som en ubåt producera en hybridprodukt. Den hybriden skulle ha några av samma egenskaper som ett flygplan har och några av egenskaperna hos en ubåt, men det skulle vara en unik produkt eller enhet. Multipelt arv skulle lätt tillåta hybriden att ärva funktionalitet från en flygplansklass och funktionalitet från en ubåtsklass samtidigt utan att kopiera kod.
Ett annat sätt att förklara multipelt arv är att säga att det tillåter mer än en klass att fungera som bas för andra klasser. Det finns fördelar med att använda multipla arv istället för att bara kopiera kod från en eller flera klasser till en annan. Buggar i program tar ofta tid att upptäcka, men när de upptäcks måste de rättas till så snart som möjligt. Om kod som innehåller buggar kopieras till flera klasser måste programmerare tillämpa samma fix på varje kopia av koden. När multipelt arv används, måste han eller hon dock arbeta med koden för den ursprungliga klassen från vilken alla underklasser ärver funktionalitet.
Inte alla programmeringsspråk stöder multipelt arv, även om de stöder objektorientering. Vissa versioner av vissa språk kan påstås stödja det när de i verkligheten stöder nedärvning från endast två klasser. Klasserna från vilka andra klasser ärver funktionalitet kallas ofta för ”förälder”-klasser eller ”superklasser”, och klasserna som ärver kallas ”barn”-klasser eller ”underklasser”. Programmerare som är intresserade av att arbeta med klasser på det här sättet rekommenderas starkt att först skaffa sig en gedigen kunskap om klassernas grunder innan de försöker dra fördel av kraften i multipelt arv, eftersom misstag eller dålig kodningspraxis i föräldraklassen går i arv. till barnklassen.