Jak nawiązać połączenie między dwiema klasami podczas pisania pliku Program Java ? To proste. Możesz skorzystać z koncepcji zwanej skojarzeniem. Brzmi interesująco, prawda? W tym artykule przyjrzyjmy się Stowarzyszeniu w szczegółowo.
Tematy omówione w tym artykule to:
Co to jest Stowarzyszenie?
Skojarzenie w Javie to połączenie lub relacja między dwoma oddzielnymi zajęcia które są tworzone przez ich obiekty . Relacja skojarzenia wskazuje, w jaki sposób obiekty się znają i jak używają swoich funkcji. Może to być jeden do jednego, jeden do wielu, wiele do jednego i wiele do wielu.
sortuj tablicę w C ++
- Na przykład,osoba może mieć tylko jeden paszport. To jest ' Jeden na jednego ”Związek.
- Jeśli mówimy o powiązaniu między bankiem a pracownikiem, bank może mieć wielu pracowników, więc jest to „ jeden za dużo ”Związek.
- Podobnie każde miasto istnieje dokładnie w jednym stanie, ale stan może mieć wiele miast, co oznacza „ wiele do jednego ”Związek.
- Na koniec, jeśli mówimy o powiązaniu między nauczycielem a uczniem, wielu uczniów może być skojarzonych z jednym nauczycielem, a jeden uczeń może być również powiązany z wieloma nauczycielami, ale obaj można tworzyć lub usuwać niezależnie. To jest ' wiele do wielu ”Związek.
Rozumiemy na przykładzie stowarzyszenia.
pakiet 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 State {private String stateName Lista miast public String getStateName () {return stateName} public void setStateName (String stateName) {this.stateName = stateName} public List getCities () {return citys} public void setState (Lista miast) {this.citys = miasta}} klasa publiczna AssociationExample {public static void main (String [] args) {State state = new State () state.setStateName ('Kalifornia') 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 () + 'to miasta w stanie' + state.getStateName ())}}
Wynik:
[Los Angeles, San Diago] to miasta w stanie Kalifornia
Jak widać, w tym przykładowym programie są dwie klasy, a mianowicie: stany i miasta. Te dwie oddzielne klasy są powiązane poprzez ich Obiekty . Co więcej, każde miasto istnieje dokładnie w jednym stanie, ale stan może mieć wiele miast, stąd określenie „wiele do jednego”. Co ważne, skojarzenie w Javie ma dwie specjalne formy. Sprawdźmy je.
Dwie formy stowarzyszania się
Kompozycja i Zbiór są dwiema specjalnymi formami zrzeszania się. Sprawdźmy je na przykładzie.
różnica między rzutami a rzutami w java
Kompozycja
To jestTyp „należy do”stowarzyszenie. Oznacza to po prostu, że jeden z obiektów jest logicznie większą strukturą, która zawiera drugi obiekt. Innymi słowy, jest częścią lub składnikiem większego obiektu. Alternatywnie często nazywa się to a Związek „ma” (w przeciwieństwie do relacji „jest-jest”, czyli ).
Dlana przykład budynek ma pomieszczenie, czyli innymi słowy, pomieszczenie należy do budynku. Kompozycja jest silnym rodzajem relacji „ma”, ponieważ cykle życia obiektów są powiązane. Oznacza to, że jeśli zniszczymy obiekt będący właścicielem, jego członkowie również zostaną zniszczeni wraz z nim. Na przykład, jeśli budynek zostanie zniszczony, pokój zostanie również zniszczony w naszym poprzednim przykładzie. Ale pamiętaj, że nie oznacza to, że obiekt zawierający nie może istnieć bez żadnej ze swoich części. Na przykład, jeśli zburzymy wszystkie pokoje wewnątrz budynku, budynek będzie nadal istniał.
Zbiór
Agregacja jest również relacją typu „ma”, ale to, co ją odróżnia od kompozycji, to fakt, że cykle życia obiektów nie są powiązane. b oth wpisy mogą przetrwać indywidualnie co oznacza, że zakończenie jednej istoty nie wpłynie na drugą. Oba mogą istnieć niezależnie od siebie. Dlatego często nazywa się to stowarzyszeniem tygodniowym.
Weźmy przykład gracza i zespołu. Gracz będący częścią zespołu może istnieć nawet wtedy, gdy zespół przestaje istnieć.Głównym powodem, dla którego potrzebujesz agregacji, jest to zachować możliwość ponownego wykorzystania kodu.
To prowadzi nas do końca tego artykułu, w którym dowiedzieliśmy się o Stowarzyszeniu w .
sortuj numery c ++
Jeśli uważasz, że ten artykuł na temat „Association in Java” jest odpowiedni, zapoznaj się z zaufana firma zajmująca się edukacją online z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Jeśli napotkasz jakieś pytania, nie wahaj się zadawać wszystkich pytań w sekcji komentarzy w „Stowarzyszeniu w Javie”, a nasz zespół z przyjemnością odpowie.