Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Odnosi medju klasama

[es] :: C/C++ programiranje :: C/C++ za početnike :: Odnosi medju klasama

[ Pregleda: 1958 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

markojo
Beograd

Član broj: 118002
Poruke: 13
*.ikomline.net.



+1 Profil

icon Odnosi medju klasama15.12.2007. u 18:38 - pre 199 meseci
Zeleo bih da shvatim slozen dijagram sa vise klasa i veza medju njima.

Koliko pise pise postoje 4 vrste odnosa koji mogu biti jednosmerni i dvosmerni. Asocijacija, zavisnost, kompozicija i agregacija.

Zavisnost - objekti jedne klase su argumenti metode druge ili lokalni objekti u metodama - OK

Asocijacija - medju atributima jedne klase postoji atribut koji je pokazivac ili upucivac na objekte druge klase. Pomocu njega moze da se pristupa clanovima druge klase.

Kompozicija i agregacija podrazumevaju asocijaciju ?

Kapiram kompoziciju iz prakse - u jednoj klasi postoje objekti tipa druge (mogu i pokazivaci i upucivaci); "delovi se stvaraju i unistavaju zajedno sa sklopom".

E, agregacija ce mi biti u zadatku koji cu morati da uradim -
"delovi mogu da postoje izvan sklopa da se stavljaju i vade iz njega.Za uspostavljanje ovog odnosa mogu se koristiti samo pokazivaci u agregatu
(ili u obe klase ako je odnos dvostrani). Samo pomocu njih moze uspostavljeni odnos medju objektima da se raskida kada deo treba izvaditi iz sklopa."

Znaci ako nije upotrebljen pokazivac, vec atribut/upucivac tipa druge klase ne radi se o agregaciji vec kompoziciji ?

Jel dovoljno da u agregatu postoji neki jedinstveni parametar po kome cu da kombinujem delove po potrebi(index niza,struktura sa jedinstvenim brojem + pokazivac na deo...) ?

Od ove teorije ne mogu da razaberem sta je sta i da pravilno povezem klase, jel ima nekih jednostavnih pravila za projektovanje klasnih dijagrama, ili slikovitih primera da se vidi razlika agregat/kompozit/asocijacija ?




 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
c-bg-d-p6-47.bvcom.net.



+1064 Profil

icon Re: Odnosi medju klasama21.12.2007. u 09:35 - pre 198 meseci
Mislim da imas problema sa terminologijom pa te niko ne moze razumeti.

1 .asocijacija
mogucnost jedne instance objekta da pozove member funkciju druge instance.
E sad to moze na vise nacina. Preko lokalnih varijabli, preko parametara,
preko clanova klase.

2. agregacija
isto sto i asocijacija plus sto referirane instance ne mogu oformiti ciklicnu zavisnost.
Znaci nema dvosmerne zavisnosti.

3. kompozicija
isto sto i agregacija plus sto je klasa koja drzi reference odgovorna
za njihov zivotni vek.

Prosto i jednostavno.




[Ovu poruku je menjao Branimir Maksimovic dana 21.12.2007. u 11:33 GMT+1]
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Odnosi medju klasama

[ Pregleda: 1958 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.