Összetétel és összesítés

Az osztályok és az objektumok kapcsolatban lehetnek egymással. Az öröklődés egy „IS A” kapcsolatot ír le. Az oroszlán egy állat. Ez a kapcsolat könnyen kifejezhető örökléssel, ahol Animala szülő osztály és Liona gyermek lenne. De nem minden kapcsolat van így megfelelően leírva a világon. Például a billentyűzetnek határozottan van kapcsolata a számítógéppel, de nem számítógép . A kezek valamilyen kapcsolatban állnak egy személlyel, de nem személy. Ezek az esetek más típusú kapcsolatot jelentenek – nem „IS A”, hanem „HAS A”. A kéz nem személy, hanem az embernek VAN keze. A billentyűzet nem számítógép, de a számítógépnek VAN billentyűzete. "VAN EGY". A különbség ezek között a fogalmak között a kapcsolatok „szigorában” rejlik. Vegyünk egy egyszerű példát: Van egy Car. Minden autónak van motorja. Ezenkívül minden autó szállíthat utasokat. Mi az alapvető különbség a Engine engineés Passenger[] passengersmezők között? Ha az utas Aaz autóban ül, az nem jelenti azt, hogy az utasok Bsem Ctartózkodhatnak az autóban. Egy autóban több utas is elfér. Sőt, az összes utas kiszállhat az autóból, de továbbra is zavartalanul fog működni. CarAz osztály és a tömb közötti kapcsolat Passenger[] passengerskevésbé szigorú. Aggregációnak hívják . Itt van egy jó cikk a témában: Osztályok (objektumok) közötti kapcsolatok. Ez egy másik jó példa az aggregációra. Tegyük fel, hogy van egy Studentosztályunk, amely egy tanulót, és egy StudentGrouptanulócsoportot képvisel. Egy diák lehet tagja egy fizika klubnak, egy Star Wars hallgatói rajongói klubnak vagy egy komikus klubnak. A kompozíció szigorúbb kapcsolattípus. Kompozíció használatakor egy objektumnak van egy másik objektuma, de nem tartozhat egy másik, azonos típusú objektumhoz. A legegyszerűbb példa egy autómotor. Ha egy autónak van motorja, akkor az nem tartozhat másik autóhoz. Amint látja, ez a kapcsolat sokkal szigorúbb, mint a Carés a Passengers.Osztályok közötti kapcsolatok.  Öröklődés, összetétel és összesítés - 4