Implementacja asocjacji

15
Implementacja asocjacji Jarek Gadomski Kuba Morkis

description

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). - PowerPoint PPT Presentation

Transcript of Implementacja asocjacji

Page 1: Implementacja asocjacji

Implementacja asocjacji

Jarek GadomskiKuba Morkis

Page 2: Implementacja asocjacji

Zagadnienia

• Asocjacja binarna

• Atrybuty i klasy asocjacji

• Asocjacja kwalifikowana

• Asocjacja n-arna

• Agregacje i kompozycje

Page 3: Implementacja asocjacji

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 Osobapracuje_dla

1..*1

Page 4: Implementacja asocjacji

ImplementacjaImplementacja 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;

}

Page 5: Implementacja asocjacji

Atrybuty i klasy asocjacji

• Stosuje się w celu pokazania dodatkowych atrybutów i właściwości asocjacji.

Plik

Użytkownik

Uprawnieniadostęp

dostępny dla

*

*

Pracowniknazwiskopeseladres

Firma

nazwaadres

zarobekstanowisko

zatrudnia

11..*

Page 6: Implementacja asocjacji

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.

Page 7: Implementacja asocjacji

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;

}

Page 8: Implementacja asocjacji

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 indeksu1

1..* kwalifikatorasocjacji

Uczelnia1..*1

Student

nr indeksu

Page 9: Implementacja asocjacji

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;

}

Page 10: Implementacja asocjacji

Asocjacja n-arna

• Reprezentuje związek zachodzący pomiędzy n obiektami.

Student Sala

Wykładowca

Zajęcia

*

*

*

PrzedmiotData

Page 11: Implementacja asocjacji

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

DataPrzedmiot

sprawdzObecnosc()

1

*

* * 1*

Page 12: Implementacja asocjacji

Implementacjaclass 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;

}

Student Sala

Wykładowca

Zajęcia*

*

*

PrzedmiotData

Student Sala

Wykładowca

Zajęcia

DataPrzedmiot

sprawdzObecnosc()

1

*

* * 1*

Page 13: Implementacja asocjacji

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

Page 14: Implementacja asocjacji

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**

Page 15: Implementacja asocjacji

Jarek Gadomski

Kuba Morkis

KONIEC