Hvad er sammensætning over arv?

Komposition over arv er en programmeringsmetodik, der bruges i objektorienterede programmeringssprog for at hjælpe med at etablere mere dynamiske og skiftelige forhold mellem objekter i en applikation. Det grundlæggende format for komposition over arv er inkluderingen af ​​et eksempel på et objekt i et andet objekt. Dette adskiller sig tydeligt fra den objektorienterede arvemetode, men kan tjene det samme formål i mange modeller. Fordelene ved sammensætning i forhold til arv inkluderer velafgrænsede grænser mellem de sammensatte objekter og indpakningsobjekterne, evnen til at ændre implementeringen af ​​et objekt uden at påvirke et helt arvehierarki og en mindre restriktiv ramme for indledende programdesign. Nogle af komplikationerne kan imidlertid omfatte vanskeligheder ved serialisering og alt for komplekse strukturer i store, etablerede programmer.

Ved objektorienteret programmering er et af de træk, der er vigtigt at etablere under design, hvordan de forskellige objekter forholder sig til hinanden. Arv er en central mekanisme i objektorienteret programmering og gør det muligt for et objekt at arve alle data og metoder til dets overordnede, som det derefter kan tilføje til, ændre eller udvide med sin egen implementering. Et eksempel på design baseret på arv kunne være med et program, der har en hovedklasse, der definerer en bil og modellerer nogle generiske egenskaber for alle biler. Klassen for hvert enkelt bilmærke laves derefter som en efterkommer af hovedklassen, men definerer specifikke oplysninger, såsom motorstørrelse, brændstofkapacitet eller anden information, der er specifik for det specifikke bilmærke.

Komposition udtrykkes ved at inkludere objektforekomster i andre objekter. Hvis der er en hovedklasse, der definerer en generisk bil, i stedet for at oprette underklasser til specifikke bilmærker, kunne hovedklassen i stedet indeholde forekomster af andre objekter, der definerer bilen mere specifikt. Dette kan betyde, at den vigtigste bilklasse kan indeholde et objekt til motortypen og et for brændstofkapaciteten, som ville blive indstillet, når klassen bruges til at oprette et eksempel på et specifikt bilmærke.

Med sammensætning over arv er objekterne, der er indeholdt i hovedklassen, ikke direkte forbundet med hovedklassen, hvilket giver udviklere frihed til at ændre, hvordan individuelle objekter fungerer. Et problem, som sammensætning over arv kan hjælpe med at forhindre, er en situation, hvor et arvetræ kan være for dybt, hvilket betyder, at enhver ændring af en klasse i træet kan kræve ændringer ned på træets længde. Ikke alle objektorienterede sprog understøtter flere arv, og sammensætning over arv er en metode, der kan bruges til at omgå denne begrænsning.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?