Vad är Association i Java och varför behöver du det?



Den här artikeln om associering i Java hjälper dig att förstå hur du skapar en anslutning mellan två klasser genom deras objekt när du kodar i Java

Hur skapar du en koppling mellan två klasser när du skriver en Java-program ? Det är enkelt. Du kan använda ett koncept som kallas association. Låter intressant, eller hur? I den här artikeln ska vi kolla in Association in i detalj.

Ämnen som diskuteras i den här artikeln är:





Vad är föreningen?

Förening i Java är en anslutning eller relation mellan två separata klasser som sätts upp genom deras objekt . Associeringsförhållande indikerar hur objekt känner varandra och hur de använder varandras funktionalitet. Det kan vara en-till-en, en-till-många, många-till-en och många-till-många.

Förening i Java - Edureka



  • Till exempel,en person kan bara ha ett pass. Det är en ' en till en ”Förhållande.
  • Om vi ​​talar om sambandet mellan en bank och anställd kan en bank ha många anställda, så det är en ” en till många ”Förhållande.
  • På samma sätt finns varje stad i exakt en stat, men en stat kan ha många städer, vilket är ett ” många-mot-en ”Förhållande.
  • Slutligen, om vi pratar om sambandet mellan en lärare och en elev, kan flera elever associeras med en enda lärare och en enskild elev kan också associeras med flera lärare men båda kan skapas eller tas bort oberoende. Det här är en ' många-till-många ”Förhållande.

Låt oss förstå om förening med ett exempel.

sortera en matris c ++
paket MyPackage import java.util. * klass CityClass {privat String cityName public String getCityName () {return cityName} public void setCityName (String cityName) {this.cityName = cityName} @Override public String toString () {return cityName}} class State {private String stateName List citys 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}} 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 = new CityClass () city2.setCityName ('San Diago') List empList = new ArrayList () empList.add (city) empList.add (city2) state.setState (empList) System.out.println (state.getCities () + 'är städer i staten' + state.getStateName ())}}

Produktion:

[Los Angeles, San Diago] är städer i delstaten Kalifornien



Som du kan se finns det i detta exempelprogram två klasser, nämligen stater och städer. Dessa två separata klasser är associerade genom sina Objekt . Dessutom finns varje stad i exakt en stat, men en stat kan ha många städer, därav termen 'många-till-en' -förhållande. Det är viktigt att föreningen i Java har två speciella former. Låt oss kolla in dem.

Två former av förening

Sammansättning och Aggregering är de två speciella föreningsformerna. Låt oss kolla in dem med hjälp av ett exempel.

Sammansättning

Det är en'Hör till' typ avförening. Det betyder helt enkelt att ett av objekten är en logiskt större struktur som innehåller det andra objektet. Med andra ord är det en del av eller medlem i det större objektet. Alternativt kallas det ofta a ”Har-a” -förhållande (i motsats till ett 'is-a' -förhållande, vilket är ).

Förtill exempel har en byggnad ett rum, eller med andra ord, ett rum tillhör en byggnad. Sammansättning är en stark typ av 'has-a' -förhållande eftersom objektens livscykler är bundna. Det betyder att om vi förstör ägarobjektet kommer dess medlemmar också att förstöras med det. Till exempel, om byggnaden förstörs förstörs rummet också i vårt tidigare exempel. Men notera att det inte betyder att det innehållande objektet inte kan existera utan några av dess delar. Till exempel, om vi riva ner alla rum inuti en byggnad, kommer byggnaden fortfarande att finnas.

Aggregering

Aggregering är också ett ”has-a” -förhållande, men det som skiljer det från kompositionen är att objektenas livscykler inte är bundna. B Annat kan posterna överleva individuellt vilket innebär att avsluta en enhet inte påverkar den andra enheten. Båda kan existera oberoende av varandra. Därför kallas det ofta veckasammanslutning.

Låt oss ta exemplet med en spelare och ett lag. En spelare som ingår i laget kan existera även när laget upphör att existera.Den främsta anledningen till att du behöver aggregering är att upprätthålla kodåteranvändbarhet.

Detta leder oss till slutet av den här artikeln där vi har lärt oss om Association i .

Om du tyckte att den här artikeln om ”Association in Java” var relevant, kolla in ett pålitligt online-lärande företag med ett nätverk med mer än 250 000 nöjda elever spridda över hela världen. Om du stöter på några frågor är du välkommen att ställa alla dina frågor i kommentarsektionen i 'Association i Java' och vårt team kommer gärna att svara.