Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Implementacja asocjacji Jarek Gadomski Kuba Morkis.

Podobne prezentacje


Prezentacja na temat: "Implementacja asocjacji Jarek Gadomski Kuba Morkis."— Zapis prezentacji:

1 Implementacja asocjacji Jarek Gadomski Kuba Morkis

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

3 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 FirmaOsoba pracuje_dla 1..*1

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 Atrybuty i klasy asocjacji Stosuje się w celu pokazania dodatkowych atrybutów i właściwości asocjacji. Plik Użytkownik Uprawnienia dostęp dostępny dla * * Pracownik nazwisko pesel adres Firma nazwa adres zarobek stanowisko zatrudnia 11..*

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 Implemencja 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; }

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

9 Implementacja Asocjacje kwalifikowane implementujemy używając tablic asocjacyjnych (np. Hashtable). 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; }

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

11 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: StudentSala Wykładowca Zajęcia Data Przedmiot sprawdzObecnosc() 1 * * * 1 *

12 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; } StudentSala Wykładowca Zajęcia * * * Przedmiot Data StudentSala Wykładowca Zajęcia Data Przedmiot sprawdzObecnosc() 1 * * * 1 *

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

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

15 Jarek Gadomski Kuba Morkis KONIEC


Pobierz ppt "Implementacja asocjacji Jarek Gadomski Kuba Morkis."

Podobne prezentacje


Reklamy Google