Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Implementacja asocjacji

Podobne prezentacje


Prezentacja na temat: "Implementacja asocjacji"— 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 Firma Osoba 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 zarobek stanowisko zatrudnia 1 1..*

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 Pracownik { class Plik { } String nazwisko;
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;

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..* Uczelnia 1..* 1 Student nr indeksu kwalifikator asocjacji

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

12 Implementacja Student Sala Wykładowca Zajęcia Przedmiot Data Student
* Przedmiot Data class Wykladowca { String imie; String nazwisko; String tytulNaukowy; } class Student { String nrIndeksu; class Sala { int numer; class Zajecia { Date data; String przedmiot; Wykladowca prowadzacy; Student[] studenci; Sala sala; Student Sala Wykładowca Zajęcia Data Przedmiot sprawdzObecnosc() 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 Jarek Gadomski Kuba Morkis


Pobierz ppt "Implementacja asocjacji"

Podobne prezentacje


Reklamy Google