Samenstelling en aggregatie

Klassen en objecten kunnen aan elkaar worden gerelateerd. Overerving beschrijft een "IS A"-relatie. Een leeuw IS EEN dier. Deze relatie wordt eenvoudig uitgedrukt met behulp van overerving, waar Animalde bovenliggende klasse zou zijn en Lionhet kind. Maar niet elke relatie in de wereld wordt op deze manier correct beschreven. Een toetsenbord heeft bijvoorbeeld zeker een relatie met een computer, maar het is geen computer . Handen hebben een relatie met een persoon, maar ze zijn geen persoon. Deze gevallen vertegenwoordigen een ander type relatie - niet "IS A", maar "HAS A". Handen zijn geen persoon, maar een persoon HEEFT handen. Een toetsenbord is geen computer, maar een computer HEEFT een toetsenbord. "HEEFT EEN". Het verschil tussen deze concepten ligt in de "strengheid" van de relaties. Laten we een eenvoudig voorbeeld nemen: we hebben een Car. Elke auto heeft een motor. Bovendien kan elke auto passagiers vervoeren. Wat is het fundamentele verschil tussen de velden Engine engineen Passenger[] passengers? Als een passagier Ain een auto zit, betekent dat niet dat er ook passagiers Bin Cde auto kunnen zitten. Eén auto biedt plaats aan meerdere passagiers. Bovendien kunnen alle passagiers uit de auto stappen, maar blijft deze soepel functioneren. De relatie tussen de Carklasse en de Passenger[] passengersarray is minder strikt. Aggregatie heet dat . Hier is een goed artikel over dit onderwerp: Relaties tussen klassen (objecten). Het is een ander goed voorbeeld van aggregatie. Laten we zeggen dat we een Studentklas hebben die een student vertegenwoordigt, en een StudentGroupdie een groep studenten vertegenwoordigt. Een student kan lid zijn van een natuurkundeclub, een Star Wars-studentenfanclub of een comedyclub. Samenstelling is een strikter type relatie. Bij compositie heeft een object een ander object, maar het kan niet bij een ander object van hetzelfde type horen. Het eenvoudigste voorbeeld is een automotor. Als een auto een motor heeft, dan kan die motor niet bij een andere auto horen. Zoals je kunt zien, is die relatie veel strikter dan die van Caren Passengers.Relaties tussen klassen.  Overerving, samenstelling en aggregatie - 4