Hvad er Association i Java, og hvorfor har du brug for det?



Denne artikel om tilknytning i Java hjælper dig med at forstå, hvordan du opretter en forbindelse mellem to klasser gennem deres objekter, når du koder i Java

Hvordan opretter du en forbindelse mellem to klasser, når du skriver en Java-program ? Det er simpelt. Du kan bruge et koncept kaldet association. Lyder interessant, ikke? I denne artikel skal vi tjekke foreningen i i detaljer.

Emnerne diskuteret i denne artikel er:





Hvad er foreningen?

Association i Java er en forbindelse eller relation mellem to separate klasser der er oprettet gennem deres genstande . Associeringsforhold angiver, hvordan objekter kender hinanden, og hvordan de bruger hinandens funktionalitet. Det kan være en-til-en, en-til-mange, mange-til-en og mange-til-mange.

Forening i Java - Edureka



  • For eksempel,en person kan kun have et pas. Det er en ' en til en ”Forhold.
  • Hvis vi taler om sammenhængen mellem en bank og medarbejder, kan en bank have mange ansatte, så det er en “ en-til-mange ”Forhold.
  • Tilsvarende eksisterer hver by i nøjagtigt en stat, men en stat kan have mange byer, hvilket er en ” mange-til-en ”Forhold.
  • Endelig, hvis vi taler om forbindelsen mellem en lærer og en studerende, kan flere studerende tilknyttes en enkelt lærer, og en enkelt elev kan også tilknyttes flere lærere, men begge kan oprettes eller slettes uafhængigt. Dette er en ' mange-til-mange ”Forhold.

Lad os forstå om forening med et eksempel.

pakke MyPackage import java.util. * klasse CityClass {private String cityName public String getCityName () {return cityName} public void setCityName (String cityName) {this.cityName = cityName} @Override public String toString () {return cityName}} klasse Stat {privat String stateName Liste byer offentlig 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 () + 'er byer i staten' + state.getStateName ())}}

Produktion:

[Los Angeles, San Diago] er byer i staten Californien



def __init __ (selv)

Som du kan se, er der i dette eksempelprogram to klasser, nemlig: stater og byer. Disse to separate klasser er forbundet gennem deres Objekter . Desuden eksisterer hver by i nøjagtigt en stat, men en stat kan have mange byer, deraf udtrykket 'mange-til-en' -forhold. Det er vigtigt, at foreningen i Java har to specielle former. Lad os tjekke dem ud.

To former for forening

Sammensætning og Aggregering er de to særlige foreningsformer. Lad os tjekke dem ud ved hjælp af et eksempel.

Sammensætning

Det er en'Hører til' typeforening. Det betyder simpelthen, at et af objekterne er en logisk større struktur, der indeholder det andet objekt. Med andre ord er det en del eller medlem af det større objekt. Alternativt kaldes det ofte en 'Har-et' forhold (i modsætning til et 'is-a' forhold, hvilket er ).

Tilfor eksempel har en bygning et rum, eller med andre ord, et rum hører til en bygning. Sammensætning er en stærk slags 'has-a' -forhold, fordi genstandenes livscyklus er bundet. Det betyder, at hvis vi ødelægger ejerobjektet, vil dets medlemmer også blive ødelagt med det. For eksempel, hvis bygningen ødelægges, ødelægges rummet også i vores tidligere eksempel. Men bemærk, det betyder ikke, at det indeholdende objekt ikke kan eksistere uden nogen af ​​dets dele. For eksempel, hvis vi nedbryder alle værelser inde i en bygning, vil bygningen stadig eksistere.

salt vs kok vs marionet

Aggregering

Aggregering er også et ”has-a” forhold, men hvad der adskiller det fra komposition er, at genstandenes livscyklus ikke er bundet. B andet kan posterne overleve individuelt hvilket betyder at afslutte en enhed ikke påvirker den anden enhed. Begge kan eksistere uafhængigt af hinanden. Derfor kaldes det ofte ugesammenslutning.

Lad os tage eksemplet med en spiller og et hold. En spiller, der er en del af holdet, kan eksistere, selv når holdet ophører med at eksistere.Hovedårsagen til, at du har brug for aggregering, er at opretholde genanvendelighed af kode.

Dette bringer os til slutningen af ​​denne artikel, hvor vi har lært om Association i .

Hvis du fandt denne artikel om “Association in Java” relevant, skal du tjekke en betroet online læringsvirksomhed med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden. Hvis du støder på spørgsmål, er du velkommen til at stille alle dine spørgsmål i kommentarfeltet i 'Association in Java', og vores team vil med glæde svare.