Sammensetning og aggregering

Klasser og objekter kan relateres til hverandre. Arv beskriver et "IS A"-forhold. En løve ER ET dyr. Dette forholdet uttrykkes lett ved å bruke arv, hvor Animalville være foreldreklassen og Lionbarnet. Men ikke alle forhold i verden er riktig beskrevet på denne måten. For eksempel har et tastatur definitivt et forhold til en datamaskin, men det er ikke en datamaskin . Hendene har et eller annet forhold til en person, men de er ikke en person. Disse tilfellene representerer en annen type forhold - ikke "ER A", men "HAS A". Hender er ikke en person, men en person HAR hender. Et tastatur er ikke en datamaskin, men en datamaskin HAR et tastatur. "HAR EN". Forskjellen mellom disse konseptene ligger i "strengheten" i relasjonene. La oss ta et enkelt eksempel: Vi har en Car. Hver bil har en motor. I tillegg kan hver bil frakte passasjerer. Hva er den grunnleggende forskjellen mellom feltene Engine engineog Passenger[] passengers? Hvis passasjer Asitter inne i en bil, betyr ikke det at passasjerer Bog Cikke også kan være i bilen. En bil har plass til flere passasjerer. Dessuten kan alle passasjerene gå ut av bilen, men den vil fortsette å fungere problemfritt. Forholdet mellom Carklassen og Passenger[] passengersarrayet er mindre strengt. Det kalles aggregering . Her er en god artikkel om dette emnet: Forhold mellom klasser (objekter). Det gir et annet godt eksempel på aggregering. La oss si at vi har en Studentklasse som representerer en elev, og en StudentGroupsom representerer en gruppe elever. En student kan være medlem av en fysikkklubb, en Star Wars studentfanklubb eller en komedieklubb. Komposisjon er en strengere type forhold. Ved bruk av komposisjon har et objekt et annet objekt, men det kan ikke tilhøre et annet objekt av samme type. Det enkleste eksemplet er en bilmotor. Hvis en bil har en motor, kan ikke den motoren tilhøre en annen bil. Som du kan se, er det forholdet mye strengere enn det til Carog Passengers.Forholdet mellom klassene.  Arv, sammensetning og aggregering - 4