Ö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]()
GO TO FULL VERSION