Wat is Association in Java en waarom heb je het nodig?

Dit artikel over associatie in Java zal u helpen te begrijpen hoe u een verbinding tot stand kunt brengen tussen twee klassen via hun objecten bij het coderen in Java

Hoe breng je een verbinding tot stand tussen twee klassen als je een Java-programma ? Het is makkelijk. U kunt gebruik maken van een concept genaamd associatie. Klinkt interessant toch? Laten we in dit artikel eens kijken naar de Association in in detail.

De onderwerpen die in dit artikel worden besproken zijn:



Wat is de vereniging?

Associatie in Java is een verbinding of relatie tussen twee gescheiden klassen die zijn opgezet via hun voorwerpen . Associatierelatie geeft aan hoe objecten elkaar kennen en hoe ze elkaars functionaliteit gebruiken. Het kan een-op-een, een-op-veel, veel-op-een en veel-op-veel zijn.

Vereniging in Java - Edureka

sorteermatrix c ++
  • Bijvoorbeeld,een persoon kan maar één paspoort hebben. Dat is een ' een op een ”Relatie.
  • Als we het hebben over de associatie tussen een bank en een werknemer, kan een bank veel werknemers hebben, dus het is een ' een te veel ”Relatie.
  • Evenzo bestaat elke stad in precies één staat, maar een staat kan veel steden hebben, wat een ' veel-op-een ”Relatie.
  • Als we het tenslotte hebben over de associatie tussen een leraar en een student, kunnen meerdere studenten worden geassocieerd met een enkele docent en kan een enkele student ook worden geassocieerd met meerdere docenten, maar beide kunnen onafhankelijk van elkaar worden gemaakt of verwijderd. Dit is een ' veel te veel ”Relatie.

Laten we eens kijken naar associatie met een voorbeeld.

pakket 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 Staat {private String stateName Lijst citys public String getStateName () {return stateName} public void setStateName (String stateName) {this.stateName = stateName} openbare lijst getCities () {return citys} public void setState (lijst met steden) {this.citys = citys}} public class AssociationExample {public static void main (String [] args) {State state = new State () state.setStateName ('California') CityClass city = new CityClass () city.setCityName ('Los Angeles') CityClass city2 = nieuwe CityClass () city2.setCityName ('San Diago') List empList = nieuwe ArrayList () empList.add (city) empList.add (city2) state.setState (empList) System.out.println (state.getCities) () + 'zijn steden in de staat' + state.getStateName ())}}

Uitgang:

[Los Angeles, San Diago] zijn steden in de staat Californië

Zoals u kunt zien, zijn er in dit voorbeeldprogramma twee klassen, namelijk staten en steden. Deze twee afzonderlijke klassen zijn gekoppeld via hun Voorwerpen . Bovendien bestaat elke stad in precies één staat, maar een staat kan meerdere steden hebben, vandaar de term 'veel-op-een'-relatie. Belangrijk is dat de associatie in Java twee speciale vormen heeft. Laten we ze eens bekijken.

Twee vormen van associatie

Samenstelling en Aggregatie zijn de twee bijzondere vormen van vereniging. Laten we ze eens bekijken met behulp van een voorbeeld.

Samenstelling

Het is een'Behoort tot' typevereniging. Het betekent simpelweg dat een van de objecten een logisch grotere structuur is, die het andere object bevat. Met andere woorden, het maakt deel uit of maakt deel uit van het grotere object. Als alternatief wordt het vaak een 'Heeft-een' relatie (in tegenstelling tot een 'is-a' -relatie, dat is ).

Vooreen gebouw heeft bijvoorbeeld een kamer, of met andere woorden, een kamer hoort bij een gebouw. Samenstelling is een sterke soort 'heeft-een'-relatie omdat de levenscycli van de objecten aan elkaar verbonden zijn. Het betekent dat als we het eigenaarobject vernietigen, de leden er ook mee vernietigd zullen worden. Als het gebouw bijvoorbeeld wordt vernietigd, wordt de kamer ook vernietigd in ons vorige voorbeeld. Maar merk op dat dit niet betekent dat het bevattende object niet kan bestaan ​​zonder een van zijn onderdelen. Als we bijvoorbeeld alle kamers in een gebouw afbreken, blijft het gebouw bestaan.

Aggregatie

Aggregatie is ook een 'heeft-een'-relatie, maar wat het onderscheidt van compositie, is dat de levenscycli van de objecten niet gebonden zijn. B. Beide inzendingen kunnen afzonderlijk overleven wat betekent dat het beëindigen van de ene entiteit geen invloed heeft op de andere entiteit. Beiden kunnen onafhankelijk van elkaar bestaan. Daarom wordt het vaak weekvereniging genoemd.

converteer decimaal naar binair python

Laten we het voorbeeld nemen van een speler en een team. Een speler die deel uitmaakt van het team kan bestaan, zelfs als het team ophoudt te bestaan.De belangrijkste reden waarom u aggregatie nodig heeft, is om behoud van herbruikbaarheid van code.

Dit brengt ons bij het einde van dit artikel waar we hebben geleerd over Associatie in .

Als je dit artikel over 'Associatie in Java' relevant vond, bekijk dan het een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. Mocht u vragen tegenkomen, stel dan gerust al uw vragen in het commentaargedeelte van 'Association in Java' en ons team zal u graag antwoorden.