I objektorienterad programmering kan en programmerare designa en klass som ärver egenskaper från mer än en förälder klass , som kallas multipelt arv . När en klass objektet tar emot information från två eller flera moderföretag klasser som inte håller , erfarenheter det ett arv konflikt
Funktion
Ett barn klassens objekt ärver metoder från den överordnade klasser . När ett barn ärver metoder med samma namn , kommer den att ha ett arv konflikt och måste avgöra vilken metod som ska användas. Dessa konflikter kan uppstå av en slump när en programmerare oavsiktligt ger unika metoder i olika klasser förälder med samma namn .
Effekter
Arv konflikter skapar buggar i mjukvaran . När ett objekt som körs i ett program upplevelser konflikt , kommer den att generera ett fel . Om det inte har ett sätt att hantera de motstridiga metoder för moderbolaget klasser , kanske programmet inte fungerar korrekt eller kraschar helt , beroende på hur kritiskt objektet .
Överväganden
Vissa programmerare utforma program som inte tillåter att flera arv eller ett sätt att konvertera flera arv till enda arv . Programmerare kan också definiera en uppsättning regler för en klass att följa för att undvika konflikter arv , till exempel genom sönderdelning de metoder en klass ärver så att de inte fungerar tillsammans .