Файл: Бабич UML первое знакомство.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 05.12.2019

Просмотров: 6222

Скачиваний: 38

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

ин те фей су ‰лfl ‰о сту п‡ к б‡н ко‚ ско му сче ту че ез б‡н ко м‡т (и не толь -
ко), о‰и н‡ ко ‚о ‡ бо т‡ ет ‚ лю бой ст‡ не, ‚от толь ко ‚е ‰ет се бfl чуть-чуть
по-‡з но му,  т.  к.  б‡н ко м‡т  ‚ы ‰‡ ет  ‰ень „и  ‚  ме ст ной  ‚‡ лю те.  Со „л‡с ны,
пи ме  не  очень  ко ект ный,  но  з‡ то  очень  н‡ „лfl‰ ный!  Ду м‡ ем,  по н‡ -
блю ‰‡‚  з‡  ок у ж‡ ю щим  ми ом,  чи т‡ тель  с‡м  смо жет  пи ‚е с ти  м‡с су
пи ме о‚ по ли мо физ м‡.

Ин к‡п су лfl циfl, н‡ сле ‰о ‚‡ ние и по ли мо физм, с ко то ы ми мы толь -

ко что по зн‡ ко ми лись, fl‚ лfl ют сfl те ми с‡ мы ми те мfl ки т‡ ми, н‡ ко то ых
‰е жит сfl ООП. Ес ли ‚ы по нfl ли суть этих б‡ зо ‚ых пин ци по‚ и осо зн‡ ли
их ис тин ную мощь, ‚ы по шли боль шую ч‡сть пу ти, ‚е ‰у ще „о к пол но му
о‚ л‡ ‰е нию ООП к‡к н‡ и бо лее ‡‰ек ‚‡т ной ме то ‰и кой опи с‡ ниfl (т‡к и тfl -
нет ск‡ з‡ть «по ек ти о ‚‡ ниfl») ок у ж‡ ю ще „о н‡с ми ‡.

От но ше ниfl меж ‰у кл‡с с‡ ми

Ни  о‰ин  из  объ ек то‚  ок у ж‡ ю ще „о  н‡с  ми ‡  не  су ще ст ‚у ет  с‡м  по

се бе.  Пти цы  ле т‡ ют  по то му,  что  есть  ‚оз ‰ух,  н‡  ко то ый  опи ‡ ют сfl  их
кы льfl.  К‡ж ‰ый  из  н‡с  с‚fl з‡н  с  м‡с сой  ‰у „их  лю ‰ей  ‡з но об ‡з ны ми
о‰ ст ‚ен ны ми,  по фес си о н‡ль ны ми  и  ‰у „и ми  с‚fl зfl ми,  пе‰ по л‡ „‡ ю -
щи ми ‡з лич ные ти пы от но ше ний. Точ но т‡к же и кл‡с сы с‚fl з‡ ны меж ‰у
со бой.  И  что бы  ‚  пол ной  ме е  о‚ л‡ ‰еть  ООП,  н‡м  не об хо ‰и мо  по нflть
суть этих от но ше ний и н‡ учить сfl их и‰ен ти фи ци о ‚‡ть.

Мы  ск‡ з‡ ли,  что  объ ек ты  н‡ хо ‰flт сfl  ‚  оп е ‰е лен ных  от но ше ни flх

‰у„ с ‰у „ом. О‰ин из ти по‚ т‡ ких от но ше ний — это 

з‡ ‚и си мость

. Ду м‡ -

ем,  суть  т‡ ко „о  от но ше ниfl  по нflт н‡  уже  из  е„퇠炇 ниfl  —  з‡ ‚и си мость
‚оз ни к‡ ет то„ ‰‡, ко„ ‰‡ е ‡ ли з‡ циfl кл‡с с‡ о‰ но „о объ ек т‡ з‡ ‚и сит от спе -
ци фи к‡ ции  опе ‡ ций  кл‡с с‡  ‰у „о „о  объ ек т‡.  И  ес ли  из ме нит сfl  спе ци -
фи к‡ циfl опе ‡ ций это „о кл‡с с‡, н‡м не ми ну е мо пи ‰ет сfl ‚но сить из ме -
не ниfl и ‚ з‡ ‚и си мый кл‡сс. Пи ‚е ‰ем по стой пи ме, опflть-т‡ ки ‚зfl -
тый  из  н‡ шей  по ‚се‰ не‚ но с ти.  Ино „‰‡  к  н‡м  ‚  у ки  по п‡ ‰‡ ют

Кус

66

UML: Пе‚ое зн‡комст‚о

Рис. 3.10


background image

‚и ‰ео ф‡й лы,  ‚ос по из ‚е с ти  ко то ые  «с  ле ту»  н堠󉇠ет сfl.  По че му?  П‡ -
‚иль но, по то му что н‡ ком пью те е не ус т‡ но‚ ле ны со от ‚ет ст ‚у ю щие ко -
‰е ки. То есть опе ‡ циfl «Вос по из ‚е ‰е ние», е ‡ ли зу е м‡fl по „‡м мой-ме -
‰и ‡п ле е ом, з‡ ‚и сит от опе ‡ ции «Де ком пес сиfl», е ‡ ли зу е мой ко ‰е ком.
Ес ли спе ци фи к‡ циfl опе ‡ ции «Де ком пес сиfl» из ме нит сfl, пи ‰ет сfl ме -
нflть ко‰ ме ‰и ‡п ле е ‡, ин‡ че он по сто не смо жет ‡ бо т‡ть с к‡ ким-то ко -
‰е ком и, ‚ луч шем слу ч‡е, з‡ ‚е шит с‚ою ‡ бо ту с ошиб кой. А ‚от т‡к з‡ -
‚и си мость меж ‰у кл‡с с‡ ми изо б ‡ ж‡ ет сfl ‚ UML (ис. 3.10):

Сто ит от ме тить, что з‡ ‚и си мо с ти н‡ ‰и ‡ „‡м м‡х изо б ‡ ж‡ ют ‰‡ ле ко

не ‚се „‰‡, ‡ толь ко ‚ тех слу ч‡ flх, ко„ ‰‡ их ото б ‡ же ние fl‚ лfl ет сfl ‚‡ж ным

‰лfl  по ни м‡ ниfl  мо ‰е ли.  Ч‡ с то  з‡ ‚и си мо с ти  лишь  по‰ ‡ зу ме ‚‡ ют сfl,  т.  к.
ло „и че с ки сле ‰у ют из пи о ‰ы кл‡с со‚.

Ду „ой ‚и‰ от но ше ний меж ‰у объ ек т‡ ми — это 

‡с со ци ‡ циfl

. Это по сто

с‚flзь меж ‰у объ ек т‡ ми, по ко то ой мож но меж ‰у ни ми пе е ме щ‡ть сfl. Ас -
со ци ‡ циfl мо жет иметь имfl, по к‡ зы ‚‡ ю щее пи о ‰у от но ше ний меж ‰у объ -
ек т‡ ми, пи этом ‚ име ни мо жет ук‡ зы ‚‡ть сfl 

н‡ п‡‚ ле ние 

чте ниfl с‚fl зи пи

по мо щи те у „оль но „о м‡ ке ‡. О‰ но н‡ п‡‚ лен н‡fl ‡с со ци ‡ циfl мо жет изо б -
‡ ж‡ть сfl стел кой. По ил лю с т и у ем ск‡ з‡н ное пи ме ‡ ми (ис. 3.11):

67

Лекциfl 3

Д臄‡мм‡ кл‡ссо‚: купным пл‡ном

Рис. 3.11

Рис. 3.12


background image

Ко ме  н‡ п‡‚ ле ниfl  ‡с со ци ‡ ции,  мы  мо жем  ук‡ з‡ть  н‡  ‰и ‡ „‡м ме

о ли

, ко то ые к‡ж ‰ый кл‡сс и„ ‡ ет ‚ ‰‡н ном от но ше нии, и 

к‡т ность

, то

есть ко ли че ст ‚о объ ек то‚, с‚fl з‡н ных от но ше ни ем (ис. 3.12):

И н‡ счет о лей, и н‡ счет к‡т но с ти н‡ этой ‰и ‡ „‡м ме ‚се по нflт но —

че ло ‚ек мо жет ‚о об ще не ‡ бо т‡ть, ‡ бо т‡ть ‚ о‰ ной или бо лее ком п‡ ни -
flх, ‡ ‚от ком п‡ нии ‚ лю бом слу ч‡е ну жен хо тfl бы о‰ин со ту‰ ник. Кст‡ -
ти, о к‡т но с ти. Ас со ци ‡ циfl мо жет объ е ‰и нflть ти и бо лее кл‡с с‡. В этом
слу ч‡е он‡ н‡ зы ‚‡ ет сfl 

n-‡ ной

и изо б ‡ ж‡ ет сfl ом бом н‡ пе е се че нии ли -

ний, к‡к по к‡ з‡ но н‡ этой ‰и ‡ „‡м ме, по з‡ им ст ‚о ‚‡н ной н‡ ми из Zicom
Mentor (ис. 3.13):

Р‡ нее мы „о ‚о и ли, что ‡с со ци ‡ циfl — это «по сто с‚flзь» меж ‰у объ -

ек т‡ ми.  Н‡  с‡ мом  ‰е ле,  ‚  е ‡ль но с ти  с‚fl зи  бы ‚‡ ют  «по сто  с‚fl зfl ми»
к‡й не  е‰ ко.  Обыч но  пи  бли ж‡й шем  ‡с смо т е нии  по‰  ‡с со ци ‡ ци ей
по ни м‡ ет сfl бо лее слож ное от но ше ние меж ‰у кл‡с с‡ ми, н‡ пи ме, с‚flзь
ти п‡ 

«ч‡сть-це лое»

. Т‡ кой ‚и‰ ‡с со ци ‡ ции н‡ зы ‚‡ ет сfl 

‡с со ци ‡ ци ей с ‡„ е -

„и о ‚‡ ни ем

. В этом слу ч‡е о‰ин кл‡сс име ет бо лее ‚ы со кий ст‡ тус (це лое)

и со сто ит из низ ших по ст‡ ту су кл‡с со‚ (ч‡ с тей). Пи этом ‚ы ‰е лfl ют по -
стое и 

ком по зит ное

‡„ е „и о ‚‡ ние и „о ‚о flт о соб ст ‚ен но 

‡„ е „‡ ции

и 

ком -

по зи ции

. По ст‡fl ‡„ е „‡ циfl пе‰ по л‡ „‡ ет, что ч‡ с ти, от ‰е лен ные от це ло -

„о, мо „ут по ‰ол ж‡ть с‚ое су ще ст ‚о ‚‡ ние не з‡ ‚и си мо от не „о. По‰ ком -
по зит ным же ‡„ е „и о ‚‡ ни ем по ни м‡ ет сfl си ту ‡ циfl, ко„ ‰‡ це лое 

‚л‡ ‰е ет

с‚о и ми ч‡ с тfl ми и их ‚е мfl жиз ни со от ‚ет ст ‚у ет ‚е ме ни жиз ни це ло „о, т.

Кус

68

UML: Пе‚ое зн‡комст‚о

Рис. 3.13


background image

е. не з‡ ‚и си мо от це ло „о ч‡ с ти су ще ст ‚о ‚‡ть не мо „ут. Пи ме ы этих ‚и -
‰о‚  ‡с со ци ‡ ций  и  их  обо зн‡ че ний  ‚  UML  мож но  у‚и ‰еть  н‡  сле ‰у ю щей

‰и ‡ „‡м ме (ис. 3.14).

Пи ме ы,  к‡к  н‡м  к‡ жет сfl,  очень  по стые  и  по нflт ные.  Вин че с те

мож но  ‚ы нуть  из  ком пью те ‡  и  ус т‡ но ‚ить  ‚  но ‚ый  ком пью те  или  ‚
USB-к‡ м‡н, т. е. су ще ст ‚о ‚‡ ние же ст ко „о ‰ис к‡ с ‡з бо кой си с тем но „о
бло к‡ не з‡ к‡н чи ‚‡ ет сfl. А ‚от кноп ки без окон обыч но су ще ст ‚о ‚‡ть не
мо „ут — с з‡ кы ти ем ок н‡ кноп ки т‡к же ис че з‡ ют.

69

Лекциfl 3

Д臄‡мм‡ кл‡ссо‚: купным пл‡ном

Рис. 3.14

Рис. 3.15


background image

И, н‡ ко нец, еще о‰ н‡ ‚‡ж н‡fl ‚ещь, к‡ с‡ ю щ‡ fl сfl ‡с со ци ‡ ции. В от -

но ше нии ме栉󠉂у мfl кл‡с с‡ ми с‡ м‡ ‡с со ци ‡ циfl то же мо жет иметь с‚ой -
ст ‚‡ и, сле ‰о ‚‡ тель но, то же мо жет быть пе‰ ст‡‚ ле н‡ ‚ ‚и ‰е кл‡с с‡. Пи -
ме пост (ис. 3.15):

Дей ст ‚и тель но, пе е‰ н‡ ч‡ лом ту ‰о ‚ых от но ше ний ‡ бот ник и ‡ -

бо то ‰‡ тель по‰ пи сы ‚‡ ют меж ‰у со бой кон т‡кт, ко то ый име ет т‡ кие ‡т -
и бу ты,  к‡к,  н‡ пи ме,  опи с‡ ние  ‡ бот,  со ки  их  ‚ы пол не ниfl,  по fl ‰ок
оп л‡ ты и т. ‰.

А  ‚от  бо лее  слож ный,  но,  опflть-т‡ ки,  ‚зfl тый  из  е ‡ль ной  жиз ни

пи ме  мо ‰е ли о ‚‡ ниfl  от но ше ний  меж ‰у  кл‡с с‡ ми,  по з‡ им ст ‚о ‚‡н ный
н‡ ми из Zicom Mentor (ис. 3.16):

И н‡ ко нец, ‰о к‡ з‡ тель ст ‚о то „о, что UML мож но ис поль зо ‚‡ть ‰лfl

че „о у„о‰ но, ‚ том чис ле и ‰лfl з‡ пи си ск‡ зок: ‰и ‡ „‡м м‡, опи сы ‚‡ ю щ‡fl
пе‰ мет ную об л‡сть ск‡з ки о Ку оч ке Рfl бе и ‚зfl т‡fl с с‡й т‡ кон ку с‡ шу -
ток н‡ UML (http://www.umljokes.com/) (ис. 3.17):

Уз н‡ е те ‡с ск‡з, зн‡ ко мый с ‰ет ст ‚‡?

Кус

70

UML: Пе‚ое зн‡комст‚о

Рис. 3.16