Agregacja to powiązanie między dwoma obiektami, które opisuje relację „nie ma”. Kompozycja jest bardziej specyficznym rodzajem agregacji, która implikuje własność. The kluczowa różnica między agregacją a kompozycją w Javie jest to, jeżeli zawarty obiekt może istnieć bez istnienia obiektu będącego właścicielem, jest to agregacja, a jeśli zawarty obiekt nie może istnieć bez istnienia obiektu będącego właścicielem, jest to kompozycja.
Programowanie obiektowe (OOP) jest głównym paradygmatem w rozwoju oprogramowania. Służy do modelowania oprogramowania przy użyciu obiektów. Obiekty są tworzone za pomocą klas. Klasa składa się z właściwości i metod. Oprogramowanie zawiera wiele obiektów. Każdy obiekt współpracuje ze sobą poprzez przekazywanie wiadomości. Relacja między dwoma obiektami jest znana jako powiązanie. Zarówno agregacja, jak i skład są dwoma rodzajami skojarzeń. Relacja „has-a” opisuje, że jeden obiekt może używać innego obiektu. Agregację i kompozycję można wdrożyć w językach obsługujących OOP. Jeśli zawarty obiekt może istnieć bez istnienia obiektu będącego właścicielem, wówczas powiązanie między tymi dwoma obiektami jest agregacją. Jeśli zawarty obiekt nie może istnieć bez istnienia obiektu będącego właścicielem, wówczas powiązanie między tymi dwoma obiektami jest kompozycją.
1. Przegląd i kluczowa różnica
2. Co to jest agregacja w Javie
3. Co to jest kompozycja w Javie
4. Podobieństwa między agregacją a kompozycją w Javie
5. Porównanie obok siebie - Agregacja vs Kompozycja w Javie w formie tabelarycznej
6. Podsumowanie
Agregacja jest rodzajem skojarzenia. Jeśli klasa ma odwołanie do encji, nazywa się to agregacją. Agregacja reprezentuje relację has-a. Obiekt studenta może mieć takie właściwości, jak identyfikator_ studenta, nazwa, adres. Ten obiekt może mieć także inny obiekt o nazwie adres z własnymi informacjami, takimi jak miasto, stan, kraj. W tej sytuacji Uczeń ma adres referencyjny podmiotu. Jest to relacja „ma”.
Rysunek 01: Klasa znaków
Rysunek 02: Główny program opisujący agregację
Zgodnie z powyższym programem znaki klasy składają się z trzech właściwości, które są znakami matematycznymi, angielskim i naukowym. Student ma obiekt Znaków. Ma swoje właściwości, które są śladami matematyki, języka angielskiego i nauki. W metodzie głównej tworzony jest obiekt znaczników i przypisywane są wartości znaczników. Obiekt ucznia, którym jest s1, może używać obiektu znaczników, który jest m1. Dlatego Uczeń i Oceny mają relację „ma”. Obiekt Marks może istnieć bez obiektu Student. Dlatego jest to agregacja.
Kompozycja jest rodzajem skojarzenia. Jest to szczególna forma agregacji, która implikuje własność. Załóżmy, że istnieją dwie klasy zwane klasą A i B. Jeśli obiekt klasy B nie może istnieć, jeśli obiekt klasy A zostanie zniszczony, to jest to kompozycja. Książka składa się z wielu stron. Jeśli książka zostanie zniszczona, strony również ulegną zniszczeniu. Obiekty strony nie mogą istnieć bez obiektu książki. Zobacz poniższy program.
Rysunek 03: Klasa szkolna
Rysunek 04: Klasa szkolna
Rysunek 05: Główny program opisujący kompozycję
Zgodnie z powyższym programem Classroom ma dwie właściwości: name i numOfStudents. Szkoła to zbiór przedmiotów szkolnych. W metodzie głównej tworzone są dwa obiekty Classroom. Są one dodawane do „klas”. Te „klasy” są przekazywane do obiektu szkolnego. Wreszcie, nazwa klasy i liczba uczniów są drukowane poprzez iterację w kolekcji. Jeśli obiekt szkolny zostanie zniszczony, obiekty szkolne również zniszczą. To jest przykład kompozycji. Zawiera także relację „ma-a”, a także implikuje własność.
Agregacja a kompozycja w Javie | |
Agregacja to powiązanie między dwoma obiektami, które opisuje relację „ma”. | Skład jest bardziej specyficznym rodzajem agregacji, która implikuje własność. |
Stosowanie | |
Agregacja jest używana, gdy jeden obiekt używa innego obiektu. | Kompozycja jest używana, gdy jeden obiekt jest właścicielem innego obiektu. |
Wpływ na przedmioty | |
Podsumowując, zniszczenie obiektu będącego właścicielem nie wpłynie na obiekt zawierający. | W składzie zniszczenie obiektu będącego właścicielem wpłynie na obiekt zawierający. |
Agregacja i kompozycja to dwie koncepcje w OOP. Relacja „has-a” opisuje, że jeden obiekt może używać innego obiektu. Agregacja to powiązanie między dwoma obiektami, które opisuje relację „nie ma”. Skład jest bardziej specyficznym rodzajem agregacji, która implikuje własność. Różnica między agregacją a kompozycją w Javie polega na tym, że jeśli zawarty obiekt może istnieć bez istnienia obiektu będącego właścicielem, jest to agregacja, a jeśli zawarty obiekt nie może istnieć bez istnienia obiektu będącego właścicielem, jest to kompozycja.
1. „Stowarzyszenie, skład i agregacja w Javie”. GeeksforGeeks, 8 lutego 2018 r. Dostępne tutaj
2. „Agregacja w Javie - Javatpoint”. Java Point. Dostępny tutaj