PO lab 5 id 364195 Nieznany

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:
PO lab 6 id 364196 Nieznany
lab [5] id 258102 Nieznany
lab [1] id 258099 Nieznany
chemia fizyczna lab id 112228 Nieznany
po modernizacji id 364203 Nieznany
po w2 id 557612 Nieznany
Lab 4 id 257946 Nieznany
po w3 id 557613 Nieznany
po w1 id 364234 Nieznany
Lab 1 id 257555 Nieznany
ALF po paracetamolu id 55196 Nieznany
fcs lab 5 id 169065 Nieznany
Bsi 08 lab id 93519 Nieznany
lab(2) id 258733 Nieznany
lab 3 2 id 259509 Nieznany

więcej podobnych podstron