Co je Asociace v Javě a proč ji potřebujete?



Tento článek o přidružení v Javě vám pomůže pochopit, jak navázat spojení mezi dvěma třídami prostřednictvím jejich objektů při kódování v Javě

Jak vytvoříte spojení mezi dvěma třídami, když píšete a Program Java ? Je to jednoduché. Můžete využít koncept zvaný asociace. Zní to zajímavě, že? V tomto článku se podívejme na Asociaci podrobně.

řadit pole v c ++

Témata diskutovaná v tomto článku jsou:





Co je to Asociace?

Asociace v Javě je spojení nebo vztah mezi dvěma samostatnými třídy které jsou nastaveny prostřednictvím jejich předměty . Vztah asociace označuje, jak se objekty navzájem znají a jak navzájem využívají své funkce. Může to být jedna ku jedné, jedna k mnoha, mnoho k jedné a mnoho k mnoha.

Sdružení v Javě - Edureka



  • Například,osoba může mít pouze jeden pas. To je „ jedna ku jedné ' vztah.
  • Když mluvíme o asociaci mezi bankou a zaměstnancem, banka může mít mnoho zaměstnanců, takže je to „ jedna k mnoha ' vztah.
  • Podobně každé město existuje přesně v jednom státě, ale stát může mít mnoho měst, což je „ více ku jedné ' vztah.
  • A konečně, když mluvíme o asociaci mezi učitelem a studentem, k jednomu učiteli může být přidruženo více studentů a jeden student může být také přidružen k více učitelům, ale oba mohou být vytvořeni nebo odstraněni samostatně. Toto je „ mnoho k mnoha ' vztah.

Pojďme si o asociaci poradit na příkladu.

balíček 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 Stát {private String stateName Seznam měst veřejná 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) () + 'jsou města ve státě' + state.getStateName ())}}

Výstup:

[Los Angeles, San Diago] jsou města ve státě Kalifornie



Jak vidíte, v tomto ukázkovém programu existují dvě třídy, a to státy a města. Tyto dvě samostatné třídy jsou spojeny prostřednictvím jejich Objekty . Každé město navíc existuje přesně v jednom státě, ale stát může mít mnoho měst, a proto je vztah „mnoho k jednomu“. Důležité je, že asociace v Javě má ​​dvě speciální formy. Podívejme se na ně.

Dvě formy sdružení

Složení a Agregace jsou dvě zvláštní formy sdružení. Podívejme se na ně pomocí příkladu.

předat hodnotu a předat odkaz v Javě

Složení

Je toTyp „patří-k“sdružení. Jednoduše to znamená, že jeden z objektů je logicky větší struktura, která obsahuje druhý objekt. Jinými slovy, je součástí nebo členem většího objektu. Alternativně se často nazývá a Vztah „má-a“ (na rozdíl od vztahu „je-a“, což je ).

Pronapříklad budova má místnost, nebo jinými slovy, místnost patří do budovy. Složení je silný druh vztahu „has-a“, protože životní cykly objektů jsou svázané. Znamená to, že pokud zničíme objekt vlastníka, budou s ním zničeni i jeho členové. Například pokud je budova zničena, místnost je zničena také v našem předchozím příkladu. Nezapomeňte však, že to neznamená, že obsahující objekt nemůže existovat bez žádné z jeho částí. Například, pokud strhneme všechny místnosti uvnitř budovy, budova bude stále existovat.

Agregace

Agregace je také vztahem „has-a“, ale od kompozice se odlišuje tím, že životní cykly objektů nejsou vázány. B oth položky mohou přežít jednotlivě což znamená, že ukončení jedné entity nebude mít vliv na druhou entitu. Oba mohou existovat nezávisle na sobě. Proto se často označuje jako týdenní asociace.

Vezměme si příklad hráče a týmu. Hráč, který je součástí týmu, může existovat, i když tým přestane existovat.Hlavním důvodem, proč potřebujete agregaci, je udržovat opakovanou použitelnost kódu.

jak vytvořit slovník v Javě

Tím se dostáváme na konec tohoto článku, kde jsme se o sdružení dozvěděli v .

Pokud jste shledali tento článek „Přidružení v Javě“ relevantní, podívejte se na důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě. Pokud narazíte na jakékoli dotazy, neváhejte se zeptat na všechny své dotazy v sekci komentářů v sekci „Association in Java“ a náš tým vám rád odpoví.