Objekt-orienteret programmering er nutidens dominerende programmering paradigme. Næsten alle mainstream sprog understøtter en form for objekt orientering. Multipel nedarvning beskriver muligheden for en klasse at arve adfærd fra mere end én klasse eller super- typen. Multipel nedarvning er berygtet for at forårsage vedligeholdelsesproblemer for programmører , selv om det har et par fordele. Der er taget skridt til at udvikle alternativer , der tillader programmører at høste fordelene uden tilhørende ulemper . Objektorienteret programmering
Objekt-orienteret programmering ( OOP) er den dominerende programmeringssprog paradigme i virksomheden programmering plads. I stedet for at se programmering som uddele en computer en liste af instruktioner til at udføre , objektorienteret Programmers opbygge diskrete objekter i hukommelsen og derefter orkestrere disse objekter til at producere arbejde software. Den objektorienterede tilgang , hvor velgennemført , producerer modulær software , der er nemt at teste.
Klasser og Arv
klasser er en fundamental del af objektorienteret programmering. Klasser fungere som en " fabrik" for andre genstande , skaber de andre objekter. OOP programmører bruger det meste af deres tid på at definere klasser, der udviser forskellige adfærd, de har brug for at skrive software. Klasser kan arve fra andre klasser eller kopiere deres adfærd. Klasser, der arver fra en anden klasse siges at være en undergruppe af denne klasse. De fleste OO sprog er enkelt arv, kan klasser kun arve fra én klasse. Multipel nedarvning giver klasser til at arve fra mere end én anden klasse.
Multiple Inheritance
Multipel nedarvning er ikke meget udbredt. Det kan producere software, der er svært at arbejde med og åbner klasser op til alle slags problemer. For eksempel kunne en programmør "sub -class " to forskellige klasser med modstridende adfærd. Dette kan medføre enorme debugging hovedpine. På den anden side fra en hierarkier -of - typen synspunkt kan et objekt tilhøre mere end én type . For eksempel kan en guldsmed tilhøre både class " insekt " og klasse " flyable ". Multipel arv er praktisk fra en " typer " synspunkt.
Alternativer til multipel nedarvning
Der har været forsøg på at udvikle alternativer til multipel nedarvning , som løser nogle af de associerede problemer med konceptet , programmører og samtidig gør det muligt at høste nogle af fordelene . Et af de mest lovende er "mix -ins ", som tillader programmører at definere særlige klasser, der kan blandes i andre klasser . Hvis disse klasser definerer modstridende adfærd , den adfærd, der hører til en faktisk klasse erstatter mix i adfærden.