Aggregation egy olyan kifejezés, amely utal egyirányú kapcsolat két objektum között. Például a hallgatói osztály hivatkozhat a Címosztályra, de fordítva nincs értelme.
Java-ban az aggregáció jelentése van-egy kapcsolat, ami azt jelenti, ha egy osztály egy másik osztály hivatkozását tartalmazza, amelyről ismert, hogy aggregációval rendelkezik.
a HAS-a kapcsolat a használaton alapul, nem pedig az öröklésen. Más szóval, az A osztálynak van-kapcsolata a B osztálymal, ha az A osztálynak van egy hivatkozása a B osztály egy példányára.
lehetővé teszi, hogy egy példával megértsük, és két osztály tanulóját és címét is figyelembe vesszük. Minden hallgatónak saját címe van, amely kapcsolatot teremt, de a címnek nincs értelme. A Java kód segítségével világosabban megérthetjük.
itt a fenti kódban láthatjuk, hogy a Diákosztálynak van-kapcsolata a Címosztálygal. Rajzoltunk egy képet is, hogy bemutassuk a két osztály közötti kapcsolatot..
a Student
osztálynak van egy Address
típusú példányváltozója. Mivel van egy Address
típusú változónk a Student
osztályban, használhatja a Címhivatkozást, amely ad
ebben az esetben a Address
osztály módszereire hivatkozhat.
az aggregáció előnye
az aggregáció használatának fő előnye a kód újrafelhasználhatóságának fenntartása. Ha egy entitásnak van kapcsolata más entitással, akkor a kódot csak erre hivatkozva tudja újra felhasználni.
aggregációs példa
most lehetővé teszi, hogy megértsük azt egy példa segítségével, itt hoztunk létre két osztály szerző, könyv és könyv osztály egy kapcsolatban szerző osztály azáltal, hogy a referencia. Most képesek vagyunk mindkét osztály összes tulajdonságát megszerezni.
könyv neve: Java for BegginerBook Price: 800————szerző Részletek———-Auther név: JohnAuther kor: 42uther hely: USA
lehetővé teszi, hogy még egy példa, hogy megértsük aggregáció. Tegyük fel, hogy van még egy osztály kiadónk, akkor a Könyvosztály újra felhasználhatja a kiadói osztály adatait azáltal, hogy referenciáját szerzői osztályként használja. Lehetővé teszi, hogy megértsük azt Java kód.
A Java
összetétel az aggregáció korlátozottabb formája. A kompozíció akkor írható le, amikor egy osztály, amely egy másik osztályt is magában foglal, attól függ, hogy funkcionálisan nem létezhet a benne szereplő osztály nélkül. Például egy Car
osztály nem létezhet Engine
nélkül, mivel már nem lesz működőképes.
ezért a szóösszetétel, ami azt jelenti, hogy a tételekből valami készül, és ha megváltoztatjuk a dolgok összetételét, hasonlóan a Java osztályokhoz, az egyik osztályt, beleértve a másik osztályt is, kompozíciónak nevezzük, ha a benne lévő osztály alapvető funkcionális jelentést nyújt a külső osztálynak.
class Car{ private Engine engine; Car(Engine en) { engine = en; }}
itt a kód megvizsgálásával megérthetjük, hogy ha az Autóosztálynak nincs kapcsolata a Motorcsoporttal, akkor az autónak nincs létezése.
a kompozíció egy tervezési technika, nem a Java jellemzője, de Java kóddal tudjuk elérni.
Q. Mikor kell használni az öröklést és az aggregációt?
Ha meg szeretnénk használni valamilyen tulajdonsága vagy viselkedési minden órát, anélkül, hogy az a követelmény, módosítása, vagy ha több funkció van, ebben az esetben Összesítés jobb megoldás, mert ha az Összesítés csak használ semmilyen külső órán belül az osztály, mint egy változó.
mivel ha bármely külső osztály valamely tulajdonságát vagy viselkedését szeretné használni és módosítani, vagy esetleg több funkciót szeretne hozzáadni, akkor a legjobb az öröklés használata.
Ha többet szeretne megtudni az öröklésről, látogasson el a részletes bemutatónkra itt. Ide kattintva megtekintheti a Java