Różnica między agregacją a składem

Spisu treści:

Różnica między agregacją a składem
Różnica między agregacją a składem

Wideo: Różnica między agregacją a składem

Wideo: Różnica między agregacją a składem
Wideo: Cheatsheet of Relationships between classes in a minute! UML - Aggregation, Composition and more! 2024, Listopad
Anonim

Kluczowa różnica – agregacja a kompozycja

Programowanie zorientowane obiektowo (OOP) to powszechny paradygmat w tworzeniu oprogramowania. Obiekt jest instancją klasy. Nie ma możliwości jednoczesnego tworzenia obiektów. Powinien być plan lub opis do stworzenia obiektu. Ten plan jest znany jako klasa. Klasa zawiera właściwości i metody. Obiekty tworzone są za pomocą klas. Klasa i przedmiot są podobne do planu i domu w świecie rzeczywistym. Nie ma możliwości wybudowania domu bez odpowiedniego planu. Podobnie klasa służy do tworzenia obiektu. Obiekt współpracuje z innymi obiektami. Połączenie z reprezentuje relację dwóch lub więcej obiektów jest nazywane „powiązaniem”. Agregacja i kompozycja to rodzaje skojarzeń. 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 powiązaniem między dwoma obiektami, które opisuje relację „ma związek”, a kompozycja jest bardziej specyficznym typem agregacji, który implikuje własność.

Co to jest agregacja?

Relacja między dwoma obiektami jest pokazana przez narysowanie linii w Unified Modeling Language (UML). Link jest stowarzyszeniem. UML pomaga uzyskać wizualną reprezentację systemu. Różni się od zwykłych języków programowania. Asocjacja określa również wielość obiektów. Są jeden do jednego, jeden do wielu i wielu do wielu. Gdy pojedynczy obiekt klasy A jest skojarzony 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ę.

Gdy jeden obiekt klasy A jest powiązany z wieloma obiektami klasy B, jest to relacja jeden-do-wielu. Przykładem jest dział, który może mieć wielu pracowników. Gdy obiekt klasy A jest skojarzony z wieloma obiektami klasy B, a obiekt klasy B jest skojarzony z wieloma obiektami klasy A, jest to skojarzenie 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. Istnieje również możliwość rozbudowania dużej ilości wraz z relacją. Oto kilka przykładów: bank „ma wiele” kont bankowych, klasa „ma wielu” uczniów. Można to wyjaśnić na poniższym przykładzie.

Różnica między agregacją a składem
Różnica między agregacją a składem

Rysunek 01: Agregacja

Według powyższego przykładu klasa składa się z ucznia lub wielu uczniów. Wielość 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 składem
Kluczowa różnica między agregacją a składem

Rysunek 02: Skład

Zgodnie z powyższym obiekt książki składa się z obiektu strony lub stron. Wielość służy również do wskazania liczby obiektów. Opisuje, że w jednej klasie jest wielu uczniów. Podświetlony symbol diamentu przedstawia kompozycję w UML. Ponieważ książka ma jedną lub wiele stron, jest agregacją, ale jest bardziej sprecyzowana. Jeśli obiekt książki zostanie zniszczony, obiekty strony również zostaną zniszczone. Obiekty stron 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), aby uzyskać wizualne zrozumienie systemu.

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

Agregacja a kompozycja

Agregacja to skojarzenie 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 rombem. Kompozycja jest oznaczona podświetlonym rombem.
Funkcjonalność
W agregacji, jeśli obiekt będący właścicielem zostanie zniszczony, nie wpłynie to na obiekt zawierający. W kompozycji, jeśli obiekt będący właścicielem zostanie zniszczony, wpłynie to na obiekt zawierający.

Podsumowanie – agregacja a kompozycja

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

Pobierz wersję PDF agregacji a kompozycja

Możesz pobrać wersję PDF tego artykułu i używać jej do celów offline zgodnie z notatką cytowania. Proszę pobrać wersję PDF tutaj Różnica między agregacją a składem

Zalecana: