Różnica Między Agregacją A Kompozycją

Spisu treści:

Różnica Między Agregacją A Kompozycją
Różnica Między Agregacją A Kompozycją

Wideo: Różnica Między Agregacją A Kompozycją

Wideo: Różnica Między Agregacją A Kompozycją
Wideo: 3.4 Asocjacja i mnogość 2024, Może
Anonim

Kluczowa różnica - Agregacja a kompozycja

Programowanie obiektowe (OOP) jest powszechnym paradygmatem w tworzeniu oprogramowania. Obiekt jest instancją klasy. Nie ma możliwości tworzenia obiektów od razu. Powinien istnieć plan lub opis tworzenia obiektu. Ten plan jest znany jako klasa. Klasa zawiera właściwości i metody. Obiekty są tworzone za pomocą klas. Klasa i przedmiot są podobne do planu i domu w prawdziwym świecie. Nie da się zbudować domu bez odpowiedniego planu. Podobnie klasa służy do tworzenia obiektu. Obiekt współpracuje z innymi obiektami. Link z reprezentuje związek dwóch lub więcej obiektów nazywany jest „skojarzeniem”. Agregacja i kompozycja to typy asocjacji. Opisują relacje między klasami. W tym artykule omówiono różnicę między agregacją a kompozycją. Kluczowa różnica między agregacją a kompozycją polega na tym, że agregacja jest związkiem między dwoma obiektami, który opisuje relację „ma”, a kompozycja jest bardziej specyficznym typem agregacji, który implikuje własność.

ZAWARTOŚĆ

1. Omówienie i kluczowe różnice

2. Czym jest agregacja

3. Czym jest kompozycja

4. Podobieństwa pomiędzy agregacją a kompozycją

5. Porównanie bezpośrednie - agregacja a kompozycja w formie tabelarycznej

6. Podsumowanie

Co to jest agregacja?

Relacja między dwoma obiektami jest pokazana przez narysowanie linii w języku UML (Unified Modeling Language). Link jest skojarzeniem. UML pomaga uzyskać wizualną reprezentację systemu. Różni się od zwykłych języków programowania. Skojarzenie określa także wielość obiektów. Są jeden do jednego, jeden do wielu i wiele do wielu. Kiedy pojedynczy obiekt klasy A jest powiązany z pojedynczym obiektem klasy B, jest to relacja jeden do jednego. Przykładem jest autor piszący książkę. W tym przykładzie jeden autor pisze książkę.

Kiedy jeden obiekt klasy A jest powiązany z wieloma obiektami klasy B, jest to relacja jeden do wielu. Na przykład dział może mieć wielu pracowników. Gdy obiekt klasy A jest powiązany z wieloma obiektami klasy B, a obiekt klasy B jest powiązany z wieloma obiektami klasy A, jest to asocjacja wiele do wielu. Jednym z przykładów jest to, że pracownik może pracować nad wieloma projektami, a projekt może mieć wielu pracowników.

Agregacja to skojarzenie typu, które dokładniej opisuje relacje między obiektami. Agregacja opisuje relację „ma”. Oto kilka przykładów opisujących tę zależność: uczeń „ma” legitymację studencką, pojazd „ma” silnik. Możliwe jest również rozszerzenie relacji o dużą ilość. Oto kilka przykładów: bank „ma wiele” rachunków bankowych, klasa „ma wielu” uczniów. Można to wyjaśnić na poniższym przykładzie.

Różnica między agregacją a kompozycją
Różnica między agregacją a kompozycją

Rysunek 01: Agregacja

Zgodnie z powyższym przykładem sala lekcyjna składa się z jednego ucznia lub wielu uczniów. Wielokrotność służy również do wskazania liczby obiektów. Opisuje, że w jednej klasie jest wielu uczniów. Symbol diamentu reprezentuje agregację w UML. Obiekty uczniów nie opierają się na obiekcie klasy. Jeśli obiekt klasy zostanie zniszczony, nie wpłynie to na obiekty uczniów. Te obiekty będą nadal istnieć.

Co to jest kompozycja?

Kompozycja jest bardziej specyficzną formą agregacji. Opisuje własność. Można to wyjaśnić na poniższym przykładzie.

Kluczowa różnica między agregacją a kompozycją
Kluczowa różnica między agregacją a kompozycją

Rysunek 02: Skład

Zgodnie z powyższym obiekt książki składa się z obiektu strony lub stron. Wielokrotność służy również do wskazania liczby obiektów. Opisuje, że w jednej klasie jest wielu uczniów. Podświetlony symbol diamentu reprezentuje kompozycję w języku UML. Ponieważ książka ma jedną stronę lub wiele stron, jest to agregacja, ale jest bardziej szczegółowa. Jeśli obiekt książki zostanie zniszczony, obiekty strony również zostaną zniszczone. Obiekty strony nie mogą istnieć bez obiektu książki. Dlatego kompozycja jest bardziej specyficzną formą agregacji, która implikuje własność.

Jakie są podobieństwa między agregacją a kompozycją?

  • Oba są używane w programowaniu obiektowym.
  • Oba są używane w Unified Modeling Language (UML) w celu wizualnego zrozumienia systemu.

Jaka jest różnica między agregacją a kompozycją?

Porównaj środek artykułu przed tabelą

Agregacja a kompozycja

Agregacja to powiązanie między dwoma obiektami, które opisuje relację „ma”. Kompozycja jest najbardziej specyficznym typem agregacji, który implikuje własność.
Symbol UML
Agregacja jest oznaczona diamentem. Skład jest oznaczony podświetlonym diamentem.
Funkcjonalność
W agregacji, jeśli obiekt będący właścicielem zostanie zniszczony, nie wpłynie to na obiekt zawierający. W kompozycji zniszczenie obiektu będącego właścicielem będzie miało wpływ na obiekt zawierający.

Podsumowanie - agregacja a kompozycja

Programowanie zorientowane obiektowo jest głównym paradygmatem w tworzeniu oprogramowania. W OOP system jest modelowany za pomocą obiektów. Obiekty te nie istnieją w izolacji. Obiekty współpracują z innymi obiektami. Związek między obiektami nazywany jest skojarzeniem. Agregacja i kompozycja to typy asocjacji. Różnica między agregacją a kompozycją polega na tym, że agregacja jest związkiem między dwoma obiektami, który opisuje relację „ma”, a kompozycja jest bardziej specyficznym typem agregacji, który implikuje własność. Agregacja i kompozycja pomagają zrozumieć zachowanie systemu.

Pobierz wersję PDF Aggregation vs Composition

Możesz pobrać wersję PDF tego artykułu i używać jej w trybie offline, zgodnie z notą cytowania. Proszę pobrać wersję PDF tutaj Różnica między agregacją a kompozycją

Zalecane: