Как да установите връзка между два класа, когато пишете a Програма Java ? Просто е. Можете да използвате концепция, наречена асоциация. Звучи интересно нали? В тази статия нека разгледаме Асоциацията в подробно.
как да инсталирам php на Windows 10
Темите, обсъдени в тази статия, са:
Какво представлява Асоциацията?
Асоциацията в Java е връзка или връзка между две отделни класове които са създадени чрез техните обекти . Връзката на асоцииране показва как обектите се познават и как използват функционалността си. Може да бъде едно към едно, едно към много, много към едно и много към много.
- Например,човек може да има само един паспорт. Това е ' едно към едно ”Връзка.
- Ако говорим за връзката между банка и служител, банката може да има много служители, така че е „ един към много ”Връзка.
- По същия начин всеки град съществува точно в една държава, но една държава може да има много градове, което е „ много към един ”Връзка.
- И накрая, ако говорим за връзката между учител и ученик, множество ученици могат да бъдат свързани с един учител, а един ученик също може да бъде свързан с множество учители, но и двамата могат да бъдат създадени или изтрити независимо. Това е ' много към много ”Връзка.
Нека разберем за асоциацията с пример.
пакет 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“ и нашият екип ще се радва да отговори.