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



Тази статия за асоцииране в Java ще ви помогне да разберете как да установите връзка между два класа чрез техните обекти при кодиране в Java

Как да установите връзка между два класа, когато пишете a Програма Java ? Просто е. Можете да използвате концепция, наречена асоциация. Звучи интересно нали? В тази статия нека разгледаме Асоциацията в подробно.

как да инсталирам php на Windows 10

Темите, обсъдени в тази статия, са:





Какво представлява Асоциацията?

Асоциацията в Java е връзка или връзка между две отделни класове които са създадени чрез техните обекти . Връзката на асоцииране показва как обектите се познават и как използват функционалността си. Може да бъде едно към едно, едно към много, много към едно и много към много.

Association in Java - Edureka



  • Например,човек може да има само един паспорт. Това е ' едно към едно ”Връзка.
  • Ако говорим за връзката между банка и служител, банката може да има много служители, така че е „ един към много ”Връзка.
  • По същия начин всеки град съществува точно в една държава, но една държава може да има много градове, което е „ много към един ”Връзка.
  • И накрая, ако говорим за връзката между учител и ученик, множество ученици могат да бъдат свързани с един учител, а един ученик също може да бъде свързан с множество учители, но и двамата могат да бъдат създадени или изтрити независимо. Това е ' много към много ”Връзка.

Нека разберем за асоциацията с пример.

пакет MyPackage import java.util. * class CityClass {private String cityName public String getCityName () {return cityName} public void setCityName (String cityName) {this.cityName = cityName} @Override public String toString () {return cityName}} class Щат {private String stateName Списък на градовете public String getStateName () {return stateName} public void setStateName (String stateName) {this.stateName = stateName} public List getCities () {return citys} public void setState (List citys) {this.citys = citys}} публичен клас AssociationExample {public static void main (String [] args) {State state = new State () state.setStateName ('California') CityClass city = new CityClass () city.setCityName ('Los Angeles') CityClass city2 = new CityClass () city2.setCityName ('San Diago') Списък empList = new ArrayList () empList.add (city) empList.add (city2) state.setState (empList) System.out.println (state.getCities () + 'са градове в щата' + state.getStateName ())}}

Изход:

[Лос Анджелис, Сан Диаго] са градове в щата Калифорния



Както можете да видите, в този пример програмата има два класа, а именно, държави и градове. Тези два отделни класа са свързани чрез техните Обекти . Освен това всеки град съществува точно в една държава, но една държава може да има много градове, откъдето произтича и терминът „много към един”. Важно е, че асоциацията в Java има две специални форми. Нека ги проверим.

Две форми на сдружаване

Състав и Агрегация са двете специални форми на сдружаване. Нека ги проверим с помощта на пример.

преминаване от стойност срещу преминаване от референтен java

Състав

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

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

Агрегация

Агрегирането също е връзка „има-има“, но това, което го отличава от състава, е, че жизненият цикъл на обектите не е обвързан. Б. други записи могат да оцелеят поотделно което означава, че прекратяването на единия обект няма да засегне другото. И двамата могат да съществуват независимо един от друг. Поради това често се нарича седмична асоциация.

Да вземем примера на играч и отбор. Играч, който е част от отбора, може да съществува дори когато отборът престане да съществува.Основната причина, поради която имате нужда от агрегиране, е да поддържа повторна употреба на кода.

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

Това ни води до края на тази статия, където научихме за Асоциацията в .

Ако сте намерили тази статия за „Асоциация в Java“ подходяща, разгледайте доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Ако срещнете някакви въпроси, не се колебайте да зададете всичките си въпроси в раздела за коментари на „Асоциация в Java“ и нашият екип ще се радва да отговори.