Sammensætning og aggregering

Klasser og objekter kan relateres til hinanden. Arv beskriver et "IS A"-forhold. En løve ER ET dyr. Dette forhold er let udtrykt ved hjælp af arv, hvor Animalville være forældreklassen og Lionville være barnet. Men ikke alle forhold i verden er korrekt beskrevet på denne måde. For eksempel har et tastatur bestemt et forhold til en computer, men det er ikke en computer . Hænder har et eller andet forhold til en person, men de er ikke en person. Disse tilfælde repræsenterer en anden type forhold — ikke "ER A", men "HAS A". Hænder er ikke en person, men en person HAR hænder. Et tastatur er ikke en computer, men en computer HAR ET tastatur. "HAR EN". Forskellen mellem disse begreber ligger i relationernes "strenghed". Lad os tage et simpelt eksempel: Vi har en Car. Hver bil har en motor. Derudover kan hver bil transportere passagerer. Hvad er den grundlæggende forskel mellem felterne Engine engineog Passenger[] passengers? Hvis passageren Asidder inde i en bil, betyder det ikke, at passagererne Bikke Cogså kan være i bilen. En bil kan rumme flere passagerer. Desuden kan alle passagerer komme ud af bilen, men den vil fortsætte med at fungere problemfrit. Forholdet mellem Carklassen og Passenger[] passengersarrayet er mindre strengt. Det kaldes aggregering . Her er en god artikel om dette emne: Relationer mellem klasser (objekter). Det giver endnu et godt eksempel på sammenlægning. Lad os sige, at vi har en Studentklasse, der repræsenterer en elev, og en StudentGroup, der repræsenterer en gruppe elever. En studerende kan være medlem af en fysikklub, en Star Wars-studenterfanklub eller en komedieklub. Komposition er en strengere type forhold. Når du bruger komposition, har et objekt et andet objekt, men det kan ikke tilhøre et andet objekt af samme type. Det enkleste eksempel er en bilmotor. Hvis en bil har en motor, så kan den motor ikke tilhøre en anden bil. Som du kan se, er det forhold meget strengere end det med Carog Passengers.Relationer mellem klasser.  Arv, sammensætning og sammenlægning - 4