Разлика между агрегирането и състава в Java

Съдържание:

Разлика между агрегирането и състава в Java
Разлика между агрегирането и състава в Java

Видео: Разлика между агрегирането и състава в Java

Видео: Разлика между агрегирането и състава в Java
Видео: "Ил-2 Штурмовик" нового поколения - "Битва за Сталинград" и "Битва за Москву" #13 2024, Може
Anonim

Ключова разлика - агрегиране срещу композиция в Java

Агрегирането е асоциация между два обекта, която описва връзката „има-а“. Съставът е по-специфичният вид агрегиране, който предполага собственост. Ключовата разлика между агрегирането и състава в Java е, че ако съдържащият се обект може да съществува без съществуването на притежаващия обект, това е агрегиране и ако съдържащият се обект не може да съществува без съществуването на притежаващия обект, това е композиция.

Обектно-ориентираното програмиране (ООП) е основна парадигма в разработването на софтуер. Използва се за моделиране на софтуера с помощта на обекти. Обектите се създават с помощта на класове. Класът се състои от свойства и методи. В софтуера има множество обекти. Всеки обект си сътрудничи помежду си чрез предаване на съобщения. Връзката между два обекта е известна като асоциация. Както агрегирането, така и съставът са два вида асоциации. Връзката „има-а“описва, че един обект може да използва друг обект. Агрегирането и композицията могат да бъдат приложени на поддържащи OOP езици. Ако съдържащият се обект може да съществува без съществуването на притежаващия обект, тогава асоциацията между тези два обекта е агрегация. Ако съдържащият се обект не може да съществува без съществуването на притежаващия обект,тогава асоциацията между тези два обекта е композиция.

СЪДЪРЖАНИЕ

1. Общ преглед и ключова разлика

2. Какво е агрегиране в Java

3. Какво е композиция в Java

4. Прилики между агрегиране и композиция в Java

5. Равно до сравнение - Агрегиране срещу композиция в Java в таблична форма

6. Резюме

Какво представлява агрегирането в Java?

Агрегирането е вид асоциация. Ако клас има препратка към обект, той е известен като агрегиране. Агрегирането представлява взаимоотношението "има-има". Студентският обект може да има свойства като student_id, име, адрес. Този обект може да има и друг обект, наречен адрес със собствена информация като град, държава, държава. В тази ситуация студентът има референтен адрес на обект. Това е връзка „има-има“.

Разлика между агрегирането и състава в Java
Разлика между агрегирането и състава в Java

Фигура 01: Клас на маркировката

Разлика между агрегирането и състава в Java
Разлика между агрегирането и състава в Java

Фигура 02: Основна програма за описание на агрегирането

Съгласно горната програма класът Marks се състои от три свойства, които са марки по математика, английски език и наука. Студентът има обект Марки. Той има свои собствени свойства, които са марки на математиката, английския език и науката. В основния метод се създава обект на марки и се присвояват стойности на марки. Студентският обект, който е s1, може да използва обекта с марки, който е m1. Следователно студентът и марките имат връзката „има-а“. Обектът Marks може да съществува без обекта Student. Следователно това е агрегация.

Какво е Композиция в Java?

Композицията е вид асоциация. Това е специфична форма на агрегиране, която предполага собственост. Да приемем, че има два класа, наречени клас A и B. Ако обектът от клас B не може да съществува, ако обектът от клас A е унищожен, това е композиция. Книгата се състои от много страници. Ако книгата бъде унищожена, страниците също ще унищожат. Обектите на страницата не могат да съществуват без обекта на книгата. Вижте програмата по-долу.

Разлика между агрегирането и състава в Java Figure 03
Разлика между агрегирането и състава в Java Figure 03

Фигура 03: Клас в класната стая

Разлика между агрегирането и състава в Java Figure 04
Разлика между агрегирането и състава в Java Figure 04

Фигура 04: Училищен клас

Основна разлика между агрегирането и състава в Java
Основна разлика между агрегирането и състава в Java

Фигура 05: Основна програма за описание на състава

Според горната програма Classroom има две свойства, които са name и numOfStudents. Училището е колекция от предмети в класната стая. В основния метод се създават два обекта в Classroom. Те се добавят към „класни стаи“. Тези „класни стаи“се предават на училищния обект. И накрая, името на класната стая и броят на учениците се отпечатват чрез итерация през колекцията. Ако обектът School е унищожен, обектите в Classroom също ще унищожат. Това е пример за композиция. Той също така съдържа връзката „има-а“и също така предполага собственост.

Каква е връзката между агрегирането и композицията в Java?

Агрегацията и Съставът са два вида Асоциация, а Съставът е специализиран вид Агрегация. Съставът е подмножество на агрегирането

Каква е разликата между агрегирането и състава в Java?

Различна статия Средна преди таблица

Агрегация срещу композиция в Java

Агрегирането е асоциация между два обекта, която описва връзката „има“. Съставът е по-специфичен вид агрегиране, който предполага собственост.
Употреба
Агрегирането се използва, когато един обект използва друг обект. Композицията се използва, когато един обект притежава друг обект.
Въздействие върху обекти
В обобщение унищожаването на притежаващия обект няма да повлияе на съдържащия обект. В състава унищожаването на притежаващия обект ще повлияе на съдържащия го обект.

Резюме - Агрегация срещу композиция в Java

Агрегирането и композицията са две концепции в ООП. Връзката „има-а“описва, че един обект може да използва друг обект. Агрегирането е асоциация между два обекта, която описва връзката „има-а“. Съставът е по-специфичен вид агрегиране, който предполага собственост. Разликата между агрегирането и състава в Java е, че ако съдържащият се обект може да съществува без съществуването на притежаващия обект, това е агрегация и ако съдържащият се обект не може да съществува без съществуването на притежаващия обект, това е композиция.

Препоръчано: