Diferència clau: agregació i composició a Java
L'agregació és una associació entre dos objectes que descriu la relació "té-a". La composició és el tipus d'agregació més específic que implica la propietat. La diferència clau entre l'agregació i la composició a Java és que, si l'objecte contingut pot existir sense l'existència de l'objecte propietari, és una agregació, i si l'objecte contingut no pot existir sense l'existència de l'objecte propietari, és una composició..
La programació orientada a objectes (OOP) és un paradigma important en el desenvolupament de programari. S'utilitza per modelar el programari mitjançant objectes. Els objectes es creen mitjançant classes. Una classe consta de propietats i mètodes. Hi ha diversos objectes al programari. Cada objecte col·labora entre si mitjançant el pas de missatges. La relació entre dos objectes es coneix com a associació. Tant l'agregació com la composició són dos tipus d'associació. La relació "té-a" descriu que un objecte pot utilitzar un altre objecte. L'agregació i la composició es poden implementar en llenguatges compatibles amb POO. Si l'objecte contingut pot existir sense l'existència de l'objecte propietari, aleshores l'associació entre aquests dos objectes és una agregació. Si l'objecte contingut no pot existir sense l'existència de l'objecte propietari, aleshores l'associació entre aquests dos objectes és una composició.
Què és l'agregació a Java?
L'agregació és un tipus d'associació. Si una classe té una referència d'entitat, es coneix com a agregació. L'agregació representa la relació té-a. Un objecte Student pot tenir propietats com student_id, nom, adreça. Aquest objecte també pot tenir un altre objecte anomenat adreça amb la seva pròpia informació com ara ciutat, estat, país. En aquesta situació, l'estudiant té una adreça de referència d'entitat. És una relació "té un".
Figura 01: Classe de notes
Figura 02: Programa principal per descriure l'agregació
Segons el programa anterior, les notes de classe consten de tres propietats que són les notes de matemàtiques, anglès i ciències. L'alumne té un objecte de notes. Té les seves pròpies propietats que són marques de matemàtiques, anglès i ciències. En el mètode principal, es crea un objecte de marques i s'assignen valors de marques. L'objecte d'estudiant que és s1 pot utilitzar l'objecte de notes que és m1. Per tant, l'estudiant i les notes tenen la relació "té-a". L'objecte Marks pot existir sense l'objecte Student. Per tant, és una agregació.
Què és la composició a Java?
La composició és un tipus d'associació. És una forma específica d'agregació que implica la propietat. Suposem que hi ha dues classes anomenades classe A i B. Si l'objecte de la classe B no pot existir si es destrueix l'objecte de la classe A, aleshores és una composició. Un llibre consta de moltes pàgines. Si el llibre es destrueix, les pàgines també es destruiran. Els objectes pàgina no poden existir sense l'objecte llibre. Consulteu el programa següent.
Figura 03: Classe presencial
Figura 04: Classe escolar
Figura 05: Programa principal per descriure la composició
Segons el programa anterior, l'aula té dues propietats que són name i numOfStudents. L'Escola és una col·lecció d'objectes de l'aula. En el mètode principal, es creen dos objectes Classroom. S'afegeixen a les "aules". Aquestes 'aules' es passen a l'objecte escolar. Finalment, el nom de l'aula i el nombre d'alumnes s'imprimeixen iterant per la col·lecció. Si es destrueix l'objecte Escola, també es destruiran els objectes de l'Aula. Aquest és un exemple de composició. També conté la relació "té-a" i també implica la propietat.
Quina relació hi ha entre l'agregació i la composició a Java?
L'agregació i la composició són dos tipus d'associació i la composició és un tipus especialitzat d'agregació. La composició és un subconjunt de l'agregació
Quina diferència hi ha entre l'agregació i la composició a Java?
Agregació versus composició a Java |
|
L'agregació és una associació entre dos objectes que descriu la relació "té una". | La composició és un tipus d'agregació més específic que implica la propietat. |
Ús | |
L'agregació s'utilitza quan un objecte utilitza un altre. | La composició s'utilitza quan un objecte és propietari d'un altre. |
Afecte als objectes | |
En conjunt, la destrucció de l'objecte propietari no afectarà l'objecte que el conté. | A la composició, destruir l'objecte propietari afectarà l'objecte que el conté. |
Resum: agregació i composició a Java
Agregació i composició són dos conceptes en POO. La relació "té-a" descriu que un objecte pot utilitzar un altre objecte. L'agregació és una associació entre dos objectes que descriu la relació "té-a". La composició és un tipus d'agregació més específic que implica la propietat. La diferència entre l'agregació i la composició a Java és que, si l'objecte contingut pot existir sense l'existència de l'objecte propietari, és una agregació i si l'objecte contingut no pot existir sense l'existència de l'objecte propietari, és una composició.