? I objektorienterad programmering , kan en programmerare utforma en klass som ärver egenskaper från mer än en förälder klass , kallas multipelt arv . När en klass objektet tar emot information från två eller flera moderföretag klasser som inte håller , upplever det ett arv konflikt . Funktion
Ett barn - klass objektet ärver metoderna från sina överordnade klasser . När ett barn ärver metoder med samma namn , kommer det att ha ett arv konflikt och måste bestämma vilken metod som ska användas . Dessa konflikter kan uppstå av en slump när en programmerare oavsiktligt ger unika metoder i olika överordnade klasser med samma namn .
Effekter
Arv konflikter skapar buggar i mjukvaran . När ett objekt körs i ett program upplever konflikt , kommer den att generera ett fel . Om det inte finns ett sätt att hantera de motstridiga metoderna för sina överordnade klasser , kanske programmet inte fungerar korrekt eller krascha helt , beroende på hur kritisk objektet är .
Överväganden
Vissa programmerare design program som inte tillåter multipelt arv eller ett sätt att konvertera multipelt 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 .