Laboratorium z PO Zestaw 05

background image

Programowanie obiektowe

1

L

L

a

a

b

b

o

o

r

r

a

a

t

t

o

o

r

r

i

i

u

u

m

m

z

z

p

p

r

r

z

z

e

e

d

d

m

m

i

i

o

o

t

t

u

u

P

P

r

r

o

o

g

g

r

r

a

a

m

m

o

o

w

w

a

a

n

n

i

i

e

e

o

o

b

b

i

i

e

e

k

k

t

t

o

o

w

w

e

e

-

-

z

z

e

e

s

s

t

t

a

a

w

w

0

0

5

5

Cel zajęć. Celem zajęć jest usystematyzowanie wiadomości z zakresu implementacji związków między klasami.

Wprowadzenie teoretyczne. Rozważana w ramach niniejszych zajęć tematyka jest ważna, gdyż diagramy klas
reprezentujące klasy i związki pomiędzy nimi wykorzystywane są w procesie modelowania tworzonego systemu. Aby
ze zrozumieniem zrealizować zadania przewidziane do wykonania w ramach zajęć laboratoryjnych, należy znać

znaczenie pojęć: zależności, asocjacji, agregacji, kompozycji.

1. Relacje zachodzące pomiędzy klasami

Zależność – jest najsłabszym rodzajem powiązania między klasami. Zależność pomiędzy klasami

oznacza, że jedna klasa używa drugiej klasy lub posiada dotyczące niej informacje. Związek ten jest
zazwyczaj krótkotrwały. Zależność występuje, kiedy zmiana specyfikacji jednej z klas może
powodować konieczność wprowadzania zmian w innej klasie. Zależności używa się najczęściej do
pokazania, że jedna klasa używa innej jako parametru jakiejś operacji.

Rys. 6 – Graficzna reprezentacja relacji zależności

Asocjacja – jest silniejszym typem powiązań niż zależność. Oznacza, że jeden obiekt jest związany

z innym przez pewien okres czasu, jednak czas życia obiektów nie jest od siebie zależny (usunięcie
jednego nie powoduje usunięcia drugiego).

Firma

Pracownik

Pracownicy

1

Pracodawca

1..*

3 Pracuje w

Rys. 7 – Graficzna reprezentacja relacji asocjacji

Asocjacja może zawierać nazwę, wraz z kierunkiem asocjacji, role (opcjonalne nazwy zadań klas
w ramach zależności) oraz specyfikację liczebności (liczba obiektów z poszczególnych klas, mogących
kojarzyć się z obiektami innej klasy).
Liczebność może być reprezentowana przez liczby całkowite lub przez przedziały:

0..1 – zero lub jeden obiekt

0..* - od zera do nieograniczonej liczby obiektów (często reprezentowane również w postaci
„*”)

n ..* - od n do nieograniczonej liczby obiektów

m..n – liczba obiektów z przedziału od m do n


Należy pamiętać, że za n i m można również podstawić liczby całkowite.

Agregacja – agregacja jest silniejszą formą asocjacji. Stanowi relację typu całość-część, w której część

może należeć do kilku całości, a całość nie zarządza czasem istnienia części (usunięcie całości nie
powoduje usunięcia części). Obiekt będący całością składa się z określonej liczby
obiektów-składników.

Strona HTML

Obrazy

Rys. 8 – Graficzna reprezentacja relacji asocjacji

Kompozycja (agregacja całkowita) – kompozycja jest najsilniejszym rodzajem powiązania między
klasami. Stanowi relację całość-część, w której części są tworzone i zarządzane przez obiekt

reprezentujący całość. „Część” może być zaangażowana tylko w jeden związek tego typu w danym

background image

Programowanie obiektowe

2

czasie. Czasy życia instancji biorących udział w takim związku są ze sobą powiązane (usunięcie całości
powoduje usunięcie części).

Strona HTML

head

body

Rys. 9 – Graficzna reprezentacja relacji kompozycji


Zadanie 1.

Proszę zrealizować aplikację obiektową w oparciu o poniższy diagram klas:

background image

Programowanie obiektowe

3

Wskazówki dotyczące realizacji zadania:

Metoda „DodajOcene” klasy „Wydzial” przed wykonaniem działania zgodnego z jej nazwą
ma sprawdzać, czy wydział prowadzi zajęcia z danego przedmiotu.

Parametr metody „InfoStudenci” klasy „Wydzial” informuje o tym, czy wypisywane mają

być także informacje o ocenach studentów.

Parametr metody „InfoJednostki” klasy „Wydzial” informuje o tym, czy wypisywane mają
być także informacje o wykładowcach wydziału.

Przy ocenie zadania główny nacisk będzie kładziony na:

Prawidłową implementację.

Wyniki testów.

Tematyka następnych zajęć:

Projektowanie związków między klasami na podstawie słownego opisu problemu oraz ich implementacja.


Wyszukiwarka

Podobne podstrony:
Laboratorium z PO Zestaw 05
Laboratorium z PO Zestaw 09 id 261888
Laboratorium z PO Zestaw 02
Laboratorium z PO Zestaw 03 id 261885
Laboratorium z PO Zestaw 10
Laboratorium z PO Zestaw 01
Laboratorium z PO Zestaw 04 id 261886
Laboratorium z PO Zestaw 07
Laboratorium z PO Zestaw 06
Laboratorium z PO Zestaw 09 id 261888
Laboratorium z PO Zestaw 03
Laboratorium z PO Zestaw 10
Laboratorium z PO Zestaw 04
Laboratorium z PO Zestaw 09
Laboratorium z PO Zestaw 06
Laboratorium z PO Zestaw 02
Laboratorium z PO Zestaw 01

więcej podobnych podstron