Compoziție și agregare

Clasele și obiectele pot fi legate între ele. Moștenirea descrie o relație „IS A”. Un leu ESTE UN animal. Această relație se exprimă ușor folosind moștenirea, unde Animalar fi clasa părinte și Lionar fi copilul. Dar nu toate relațiile din lume sunt descrise corect în acest fel. De exemplu, o tastatură are cu siguranță o relație cu un computer, dar nu este un computer . Mâinile au o anumită relație cu o persoană, dar nu sunt o persoană. Aceste cazuri reprezintă un alt tip de relație - nu „IS A”, ci „HAS A”. Mâinile nu sunt o persoană, ci o persoană ARE mâini. O tastatură nu este un computer, ci un computer ARE O tastatură. "ARE O". Diferența dintre aceste concepte constă în „strictețea” relațiilor. Să luăm un exemplu simplu: avem un Car. Fiecare mașină are un motor. În plus, fiecare mașină poate transporta pasageri. Care este diferența fundamentală dintre câmpurile Engine engineși Passenger[] passengers? Dacă pasagerul Astă în interiorul unei mașini, asta nu înseamnă că pasagerii Bși Cnu pot fi și în mașină. O mașină poate găzdui mai mulți pasageri. În plus, toți pasagerii pot ieși din mașină, dar aceasta va continua să funcționeze fără probleme. Relația dintre Carclasă și Passenger[] passengersmatrice este mai puțin strictă. Se numește agregare . Iată un articol bun pe această temă: Relații între clase (obiecte). Acesta oferă un alt exemplu bun de agregare. Să presupunem că avem o Studentclasă care reprezintă un elev și o clasă StudentGroupcare reprezintă un grup de elevi. Un student poate fi membru al unui club de fizică, al unui fan club al studenților Star Wars sau al unui club de comedie. Compoziția este un tip mai strict de relație. La utilizarea compoziției, un obiect are un alt obiect, dar nu poate aparține altui obiect de același tip. Cel mai simplu exemplu este un motor de mașină. Dacă o mașină are un motor, atunci acel motor nu poate aparține altei mașini. După cum puteți vedea, acea relație este mult mai strictă decât cea dintre Carși Passengers.Relațiile dintre clase.  Moștenirea, compunerea și agregarea - 4