1 / 15

Implementacja asocjacji

Implementacja asocjacji. Jarek Gadomski Kuba Morkis. Zagadnienia. Asocjacja binarna Atrybuty i klasy asocjacji Asocjacja kwalifikowana Asocjacja n-arna Agregacje i kompozycje. pracuje_dla. Firma. Osoba. 1. 1..*. Asocjacja binarna (2-arna).

ciara
Download Presentation

Implementacja asocjacji

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Implementacja asocjacji Jarek Gadomski Kuba Morkis

  2. Zagadnienia • Asocjacja binarna • Atrybuty i klasy asocjacji • Asocjacja kwalifikowana • Asocjacja n-arna • Agregacje i kompozycje

  3. pracuje_dla Firma Osoba 1 1..* Asocjacja binarna (2-arna) • Asocjacja - związek obrazujący relację zachodzącą między dwoma lub więcej klasami. • Asocjacja binarna – najprostsza i najczęściej spotykana forma asocjacji

  4. Implementacja Implementacja asocjacji binarnych odbywa się poprzez wybranie jednej z dwóch klas i przechowywanie w niej referencji do drugiej klasy.Przykład: class Firma { String nazwa; Osoba[] pracownicy; } class Osoba { String imie; String nazwisko; }

  5. Plik zatrudnia Firma nazwa adres Pracownik nazwisko pesel adres * 1..* 1 Uprawnienia dostęp dostępny dla zarobek stanowisko * Użytkownik Atrybuty i klasy asocjacji • Stosuje się w celu pokazania dodatkowych atrybutów i właściwości asocjacji.

  6. Implementacja • W przypadku asocjacji wiele do wiele klasę asocjacji zamieniamy na zwykłą klasę. • W innych przypadkach istnieje możliwość przeniesienia atrybutów asocjacji do klas podstawowych.

  7. class Plik { } class Uzytkownik { } class Uprawnienia { int dostep; Plik nazwaPliku; Uzytkownik uzyszkodnik; } class Pracownik { String nazwisko; String pesel; String adres; String zarobek; String stanowisko; } class Firma { String nazwa; String adres; } Implemencja

  8. Uczelnia nr indeksu Student 1 1..* 1 Uczelnia nr indeksu kwalifikator asocjacji 1..* Student Asocjacja kwalifikowana • Kwalifikator asocjacji jest atrybutem (lub zestawem atrybutów) klasy, który służy do wybrania podzbioru obiektów danej klasy.

  9. class Uczelnia { Hashtable studenci; public void dodajStudenta (String nrIndeksu, Student student) { studenci.put (nrIndeksu, student); } public void zlikwidujStudenta (String nrIndeksu) { studenci.remove(nrIndeksu); } } class Student { String nrIndeksu; String imie; String nazwisko; } Implementacja • Asocjacje kwalifikowane implementujemy używając tablic asocjacyjnych (np. Hashtable).

  10. Wykładowca * * Student Sala * Zajęcia Przedmiot Data Asocjacja n-arna • Reprezentuje związek zachodzący pomiędzy n obiektami.

  11. Wykładowca 1 * Zajęcia Student Sala 1 * * * Data Przedmiot sprawdzObecnosc() Asocjacja n-arna cd.. • Asocjacje n-arne przydatne są w przypadku obiektów powiązanych ze sobą licznościami wiele do wiele. • Obejście asocjacji n-arnej poprzez dodanie klasy:

  12. Wykładowca * * Student Sala * Zajęcia Przedmiot Data Wykładowca 1 * Zajęcia Student Sala 1 * * * Data Przedmiot sprawdzObecnosc() Implementacja class Wykladowca { String imie; String nazwisko; String tytulNaukowy; } class Student { String imie; String nazwisko; String nrIndeksu; } class Sala { int numer; } class Zajecia { Date data; String przedmiot; Wykladowca prowadzacy; Student[] studenci; Sala sala; }

  13. Sieć komputerowa Komputer 1 * * * Książka Strony AGREGACJA KOMPOZYCJA Agregacja i kompozycja • Agregacje oraz kompozycje służą do przedstawiania zależności typu część – całość.

  14. Sieć Komputerowa domena Komputer nrIP * * Implementacja • Agregacje i kompozycje implementujemy za pomocą kolekcji referencji do obiektów składowych. class Komputer { InetAddress nrIP; } class Siec { String domena; Komputer[] spisKomputerow; }

  15. Jarek GadomskiKuba Morkis KONIEC

More Related