ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

UML для самых ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ…: Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов

ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

АвС, ΠšΠΎΠ΄Π΅Ρ€! Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов UML ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ структуру систСмы, описывая классы, ΠΈΡ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ.

Π”Π°ΠΆΠ΅ самыС ΠΌΠ°Π»Ρ‹Π΅ Π΄Π΅Ρ‚ΠΊΠΈ Π·Π½Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ UML происходит ΠΎΡ‚ Unified Modeling Language, Ссли ΠΏΠΎ- русски, Ρ‚ΠΎ β€” ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык модСлирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΊΠ°ΠΊ гласит Π»Π΅Π³Π΅Π½Π΄Π°, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ дяди ΠΈ Ρ‚Π΅Ρ‚ΠΈ Π² ΠΊΠΎΠ½Π΅Ρ† задолбались ΠΏΠ»Π°Π²Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠΈ ΠΊΡ€ΡƒΠΆΠΎΡ‡ΠΊΠΎΠ², Ρ‡Π΅Ρ€Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΈ ΠΎΠ±Π»Π°Ρ‡ΠΊΠΎΠ².

Для Ρ‚Π΅Ρ…, ΠΊΠΎΠΌΡƒ лСнь Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ:

Π“Π»Π°Π²Π½ΠΎΠ΅ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π»ΠΈΡ†ΠΎ

ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

Для Π½Π°Ρ‡Π°Π»Π° Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ сСбС Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ класс? Если Π² Π΄Π²ΡƒΡ… словах, Ρ‚ΠΎ класс прСдставляСт собой шаблон для создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ значСния состояний: ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΠΎΠ»Π΅ΠΉ-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ повСдСния ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

По сути, класс описываСт Ρ‚ΠΎ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ.

ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

Класс прСдставляСт ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ описываСт состояниС (Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹) ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ (ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹). ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ свой Ρ‚ΠΈΠΏ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” свою сигнатуру, Π½ΠΎ Π² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов Ρ‚ΠΎΠ»ΡŒΠΊΠΎ имя класса являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΊ заполнСнию, Ρ‡Ρ‚ΠΎ ΠΈ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ β€” Π΄Π°ΠΆΠ΅ Π»ΡƒΡ‡ΡˆΠΈΠ΅ экстрасСнсы ΠΌΠΈΡ€Π° Π½Π΅ смогут ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Π·Π° бСзымянный ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ ΠΈ ΠΊ Ρ‡Π΅ΠΌΡƒ ΠΎΠ½ Π²ΠΎΠΎΠ±Ρ‰Π΅ относится.

Имя класса ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Π² самом Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ Π΄Π΅Π»Π΅Π½ΠΈΠΈ, Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ΄ΡƒΡ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ класса, Ρ‚ΠΈΠΏΡ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ послС двоСточия ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Π² Π½ΠΈΠΆΠ½Π΅ΠΌ Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΈΠ΄ΡƒΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

Π’ΠΈΠΏ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄, записываСтся послС двоСточия Π² самом ΠΊΠΎΠ½Ρ†Π΅ сигнатуры ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ области видимости ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ класса ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ.

ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Ρ‚ΡŒ описаниС направлСнности ΠΌΠ΅Ρ‚ΠΎΠ΄Π°: in, out, inout.
На этой ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ, method1 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ p1, ΠΊΠ°ΠΊ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ p1, ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ, Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ измСняСт p1.

Method2 ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ p2, ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ p2, ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Π½ΠΎ сам ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ p2.

Method3 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ p3, ΠΊΠ°ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΈΠ½Ρ‹ΠΌΠΈ словами, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ слуТит Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ для Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

ΠŸΠ΅Ρ€ΡΠΏΠ΅ΠΊΡ‚ΠΈΠ²Ρ‹ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов Π² ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… этапах ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, постСпСнно модСлируя Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов с Ρ‚Ρ€Π΅Ρ… Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ зрСния ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нашСго продвиТСния ΠΏΠΎ уровням Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

ΠšΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ пСрспСктива β€” это ΠΊΠΎΠ³Π΄Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ описаниС Π²Π΅Ρ‰Π΅ΠΉ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠΈΡ€Π΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли ΠΌΡ‹ Π±Π΅Ρ€Π΅ΠΌ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ пСрспСктиву, ΠΌΡ‹ рисуСм Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ, которая прСдставляСт ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Π² ΠΈΠ·ΡƒΡ‡Π°Π΅ΠΌΠΎΠΉ области. Π­Ρ‚ΠΈ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ относятся ΠΊ классам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚. ΠšΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ пСрспСктива считаСтся нСзависимой ΠΎΡ‚ языка.

ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

БпСцификационная пСрспСктива β€” это ΠΊΠΎΠ³Π΄Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, ΠΊΠ°ΠΊ описаниС абстракций ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² со спСцификациями ΠΈ интСрфСйсами, Π½ΠΎ Π±Π΅Π· привязки ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ пСрспСктива β€” это ΠΊΠΎΠ³Π΄Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, ΠΊΠ°ΠΊ описаниС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ языкС.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли Ρ‚Ρ‹ Π±Π΅Ρ€Π΅ΡˆΡŒ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ пСрспСктиву, Ρ‚Ρ‹ ΡΠΌΠΎΡ‚Ρ€ΠΈΡˆΡŒ Π½Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

Π’ΠΈΠΏΡ‹ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ

Π”Π°Π»Π΅Π΅, я ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ ΡˆΠ΅ΡΡ‚ΡŒ основных Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ классами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² UML схСмах Ρ‡Π°Ρ‰Π΅ всСго.

Ассоциация.
ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

Аналогично связям, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ассоциации ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ классы. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π±Ρ‹Π»Π° связь, ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ассоциация.

Если ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π° класса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ, ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° нСпрСрывная ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ линия, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π°Ρ Π½Π° схСмС Π°ΡΡΠΎΡ†ΠΈΠ°Ρ†ΠΈΡŽ. Часто ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π³Π»Π°Π³ΠΎΠ», ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‰ΠΈΠΉ Π΅Π΅ смысл.

Помимо этого, ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ число ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ участиС Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡΡ…. ΠšΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ задаСтся Π² Π²ΠΈΠ΄Π΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ запятыми списка ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» прСдставлСн Π² Π²ΠΈΠ΄Π΅ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ-максимум.

НапримСр, ΠΎΠ΄ΠΈΠ½ студСнт ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρƒ мноТСства ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»Π΅ΠΉ.
Но ΠΈ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡ‡ΠΈΡ‚ΡŒ мноТСство студСнтов.

ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

Или ΠΈΠ½ΠΎΠ³Π΄Π° Π΅Π³ΠΎ Π΅Ρ‰Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ β€” гСнСрализация.

Как слСдуСт ΠΈΠ· названия, это схСматичСскоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ классом ΠΈ Π΅Π³ΠΎ наслСдниками. Полая стрСлка всСгда Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π° ΠΊ классу Β«Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΒ».
ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ наслСдования: классы ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚, ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΈ ΠΊΡ€ΡƒΠ³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ наслСдниками Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса Β«Ρ„ΠΈΠ³ΡƒΡ€Π°Β».

ΠœΡ‹ Π²ΠΏΡ€Π°Π²Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ наслСдованиС ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ класса, Ρ‚Π°ΠΊ ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ ΠΈΡ….
Если наслСдованиС происходит ΠΎΡ‚ абстрактного класса, Ρ‚ΠΎ имя Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса записываСтся курсивом.

ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, ΠΏΠΎΠ΄ этим подразумСваСтся ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ интСрфСйса ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΡ… этот интСрфСйс.

НапримСр, интСрфСйс Owner ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для ΠΏΠΎΠΊΡƒΠΏΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ частной собствСнности, Π° ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ классов Person ΠΈ Corporation, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΡ… этот интСрфСйс, Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΏΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ со стрСлкой ΠΏΠΎ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΊ интСрфСйсу.

ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ класса Π² своСм ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅.
Если ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ хранится Π² ΠΏΠΎΠ»Π΅ класса, Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ Π²ΠΈΠ΄ мСТклассовых ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ модСлируСтся ΠΊΠ°ΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ.

Π—Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ, ΠΏΠΎ сути, являСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ случаСм ассоциации Π΄Π²ΡƒΡ… классов, Π² этом случаС, измСнСния Π² ΠΎΠ΄Π½ΠΎΠΌ классС Π½Π΅ΡƒΠΌΠΎΠ»ΠΈΠΌΠΎ ΠΏΠΎΠ²Π»Π΅ΠΊΡƒΡ‚ Π·Π° собой измСнСния Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ.

НапримСр, Ρƒ класса Person Π΅ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ hasRead с Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ book, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true, Ссли, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π» ΠΊΠ½ΠΈΠ³Ρƒ.

Π—Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ обозначаСтся ΠΏΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ со стрСлкой, ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½Π½ΠΎΠΉ ΠΊ классу, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ зависят, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ класса.

ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

ΠžΡΠΎΠ±Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ классами, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ класс являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ.

НапримСр, Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ мСсто программиста состоит ΠΈΠ· стула, стола, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈ вСнтилятора, Π½ΠΎ ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ класса Β«Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ мСсто», Ρƒ нас просто останутся всС эти классы, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

АгрСгация ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π² Π²ΠΈΠ΄Π΅ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ с ΠΏΠΎΠ»Ρ‹ΠΌ Ρ€ΠΎΠΌΠ±ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΌ ΠΎΡ‚ классов, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΌΠΈΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ класса ΠΊ классу-Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΡ€Ρƒ.

ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

По сути, Ρ€Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² этом случаС, классы, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ класса, ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°ΡŽΡ‚, ΠΊΠΎΠ³Π΄Π° уничтоТаСтся класс-Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΎΡ€.

НапримСр нашС Ρ‚Π΅Π»ΠΎ состоит ΠΈΠ· ΠΎΡ€Π³Π°Π½ΠΎΠ², Π½ΠΎ сами ΠΏΠΎ сСбС ΠΎΠ½ΠΈ Π½Π΅ ТизнСспособны.

ΠšΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡ обозначаСтся схоТим с Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠ΅ΠΉ способом, Π½ΠΎ Ρ€ΠΎΠΌΠ± Π½Π° этот Ρ€Π°Π· ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΊΡ€Π°ΡˆΠ΅Π½.

Π€ΠΈΠ½Π°Π»ΠΎΡ‡ΠΊΠ°

UML Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², находящихся Π½Π° этапС понимания Β«Ρ‡Ρ‚ΠΎ ΠΊ Ρ‡Π΅ΠΌΡƒ Π΄ΠΎΠ»ΠΆΠ΄Π½ΠΎ ΠΈΠ΄Ρ‚ΠΈ ΠΈ ΠΎΡ‚ Ρ‡Π΅Π³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒΡΡΒ». Как говорят наши англоязычныС ΠΊΠΎΠ»Π»Π΅Π³ΠΈ: Β«ΠΎΠ½ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ выглядит вСсь лСс Π·Π° стволами Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π²Β».

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Ρ‚Π²ΠΎΠ΅Π³ΠΎ, ΠΏΡƒΡΡ‚ΡŒ ΠΈ нСбольшого, Π½ΠΎ ΡΠ½ΠΎΠ³ΡΡˆΠΈΠ±Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½Π΅ хватайся сразу Π·Π° ΠΊΠΎΠ΄. Π‘ΠΎΠ·Π΄Π°ΠΉ спСрва Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ своСго прилоТСния Π² UML.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

UML-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов

UML – ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык модСлирования (Unified Modeling Language) – это систСма ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ проСктирования.
Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, спСцификации, конструирования ΠΈ докумСнтирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… систСм.
Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ UML Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ‚Ρ€ΠΈ Π²ΠΈΠ΄Π° ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ²:

Бущности – это абстракции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ основными элСмСнтами ΠΌΠΎΠ΄Π΅Π»ΠΈ, связи ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ ΠΈΡ… ΠΌΠ΅ΠΆΠ΄Ρƒ собой, Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ интСрСс Π½Π°Π±ΠΎΡ€Ρ‹ сущностСй.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° – это графичСскоС прСдставлСниС Π½Π°Π±ΠΎΡ€Π° элСмСнтов, Ρ‡Π°Ρ‰Π΅ всСго ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π² Π²ΠΈΠ΄Π΅ связного Π³Ρ€Π°Ρ„Π° Π²Π΅Ρ€ΡˆΠΈΠ½ (сущностСй) ΠΈ ΠΏΡƒΡ‚Π΅ΠΉ (связСй). Π―Π·Ρ‹ΠΊ UML Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ 13 Π²ΠΈΠ΄ΠΎΠ² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ мСстС Π² спискС β€” Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ.
Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π°Π±ΠΎΡ€ классов, интСрфСйсов, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡ… связи. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ этого Π²ΠΈΠ΄Π° Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для модСлирования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… систСм. Они ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для статичСского прСдставлСния систСмы.
Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ элСмСнтов UML ΠΈΠΌΠ΅ΡŽΡ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈ ΠΏΡ€ΡΠΌΡƒΡŽ Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ, которая Π΄Π°Π΅Ρ‚ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ прСдставлСниС Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ… аспСктов элСмСнта.

Бущности

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ трСмя Π²ΠΈΠ΄Π°ΠΌΠΈ сущностСй UML:

ΠŸΠΎΠ²Π΅Π΄Π΅Π½Ρ‡Π΅ΡΠΊΠΈΠ΅ сущности – динамичСскиС части ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ UML. Π­Ρ‚ΠΎ Β«Π³Π»Π°Π³ΠΎΠ»Ρ‹Β» ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ пространствС. Основной ΠΈΠ· Π½ΠΈΡ… являСтся взаимодСйствиС – ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΎΠ±ΠΌΠ΅Π½Π΅ сообщСниями ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ»ΠΈ Ρ€ΠΎΠ»Π΅ΠΉ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ контСкстС для достиТСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ†Π΅Π»ΠΈ. Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ изобраТаСтся Π² Π²ΠΈΠ΄Π΅ Π»ΠΈΠ½ΠΈΠΈ со стрСлкой, ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда сопровоТдаСмой ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ сущности β€” классы

Класс – это описаниС Π½Π°Π±ΠΎΡ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ, опСрациями, связями ΠΈ сСмантикой.

ГрафичСски класс изобраТаСтся Π² Π²ΠΈΠ΄Π΅ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° 3 Π±Π»ΠΎΠΊΠ° Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ линиями:

Для Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Ρ‚ΠΈΠΏΠΎΠ² видимости:

Π’ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ для ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² указываСтся Π² Π²ΠΈΠ΄Π΅ Π»Π΅Π²ΠΎΠ³ΠΎ символа Π² строкС с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ элСмСнта.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ класс Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠΌ Π΅Π³ΠΎ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… классов. Имя – это тСкстовая строка. Имя класса ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· любого числа Π±ΡƒΠΊΠ², Ρ†ΠΈΡ„Ρ€ ΠΈ Π·Π½Π°ΠΊΠΎΠ² прСпинания (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ двоСточия ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ) ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ Π² нСсколько строк.
На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° классов, взятыС ΠΈΠ· словаря ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ систСмы. КаТдоС слово Π² ΠΈΠΌΠ΅Π½ΠΈ класса Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ ΠΏΠΈΡˆΡƒΡ‚ с Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹ (Π²Π΅Ρ€Π±Π»ΡŽΠΆΡŒΡ конвСнция), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Sensor (Π”Π°Ρ‚Ρ‡ΠΈΠΊ) ΠΈΠ»ΠΈ TemperatureSensor (Π”Π°Ρ‚Ρ‡ΠΈΠΊΠ’Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹).
ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов
Для абстрактного класса имя класса записываСтся курсивом.

Атрибут (свойство) – это ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠ΅ свойство класса, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ экзСмпляр Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°. Класс ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ любоС число Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈΠ»ΠΈ Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ. Π’ послСднСм случаС Π±Π»ΠΎΠΊ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ пустым.
Атрибут прСдставляСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ свойство ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ сущности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса. Имя Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°, ΠΊΠ°ΠΊ ΠΈ имя класса, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой тСкст. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ для имСнования Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ нСсколько ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…, Π²Ρ‹Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΡ… Π½Π΅ΠΊΠΎΠ΅ свойство класса, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ относится Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚.

МоТно ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°, ΡƒΠΊΠ°Π·Π°Π² Π΅Π³ΠΎ Ρ‚ΠΈΠΏ, ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ (Ссли Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ прСдставляСт собой массив Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ) ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

БтатичСскиС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ класса ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ (ΠΌΠ΅Ρ‚ΠΎΠ΄) – это рСализация ΠΌΠ΅Ρ‚ΠΎΠ΄Π° класса. Класс ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ любоС число ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π»ΠΈΠ±ΠΎ Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ. Часто Π²Ρ‹Π·ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° измСняСт Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹.
ГрафичСски ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ прСдставлСны Π² Π½ΠΈΠΆΠ½Π΅ΠΌ Π±Π»ΠΎΠΊΠ΅ описания класса.
ДопускаСтся ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠΌΠ΅Π½ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Имя ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊ ΠΈ имя класса, Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой тСкст. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ для имСнования ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ Π³Π»Π°Π³ΠΎΠ»ΡŒΠ½Ρ‹Π΅ конструкции, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π½Π΅ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ класса, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ опСрация. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ слово Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ с Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ move (ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ) ΠΈΠ»ΠΈ isEmpty (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° пустоту).
МоТно ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ, устанавливая Π΅Π΅ сигнатуру, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΡƒΡŽ имя, Ρ‚ΠΈΠΏ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ всСх ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ функциям – Ρ‚ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния.

АбстрактныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ курсивным ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ.
БтатичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ.

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ класс, Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ сразу всС Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ прСдставлСния, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, сущСствСнна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π°ΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ класса. Π’ силу этих ΠΏΡ€ΠΈΡ‡ΠΈΠ½ допускаСтся ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎΠ΅ прСдставлСниС класса, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ для графичСского прСдставлСния Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ². Если ΠΏΠΎΠΌΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π²Ρ‹ Π΄Π°Π΅Ρ‚Π΅ это ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ список ΠΌΠ½ΠΎΠ³ΠΎΡ‚ΠΎΡ‡ΠΈΠ΅ΠΌ.
Π§Ρ‚ΠΎΠ±Ρ‹ Π»Π΅Π³Ρ‡Π΅ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ списки Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ½Π°Π±Π΄ΠΈΡ‚ΡŒ прСфиксом (ΠΈΠΌΠ΅Π½Π΅ΠΌ стСрСотипа) ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ Π² Π½ΠΈΡ…. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС стСрСотип – это слово, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ΅ Π² ΡƒΠ³Π»ΠΎΠ²Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π·Π° Π½ΠΈΠΌ слСдуСт.
ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ классами

БущСствуСт Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ‚ΠΈΠΏΠ° связСй Π² UML:

Π­Ρ‚ΠΈ связи ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ для описания ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ Π² UML, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ согласованных ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ.

ΠŸΠ΅Ρ€Π²Π°Ρ ΠΈΠ· Π½ΠΈΡ… – Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ – сСмантичСски прСдставляСт собой связь ΠΌΠ΅ΠΆΠ΄Ρƒ двумя элСмСнтами ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта (нСзависимого) ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ измСнСнию сСмантики Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ элСмСнта (зависимого). ГрафичСски прСдставлСна ΠΏΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ, ΠΈΠ½ΠΎΠ³Π΄Π° со стрСлкой, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠΉ ΠΊ Ρ‚ΠΎΠΉ сущности, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ зависит Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π°; ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ снабТСна ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ.

Ассоциация – это структурная связь ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами ΠΌΠΎΠ΄Π΅Π»ΠΈ, которая описываСт Π½Π°Π±ΠΎΡ€ связСй, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ.
Ассоциация ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΠ΄Π½ΠΎΠΉ сущности (класса) связаны с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ сущности Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ.
НапримСр, класс Π§Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΈ класс Π¨ΠΊΠΎΠ»Π° ΠΈΠΌΠ΅ΡŽΡ‚ Π°ΡΡΠΎΡ†ΠΈΠ°Ρ†ΠΈΡŽ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π² школС. Ассоциации ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ имя «учится Π²Β». Π’ прСдставлСнии ΠΎΠ΄Π½ΠΎΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠΉ ассоциации добавляСтся стрСлка, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ Π½Π° Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ассоциации.
ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

Π”Π²ΠΎΠΉΠ½Ρ‹Π΅ ассоциации ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π»ΠΈΠ½ΠΈΠ΅ΠΉ Π±Π΅Π· стрСлок Π½Π° ΠΊΠΎΠ½Ρ†Π°Ρ…, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π΅ΠΉ Π΄Π²Π° классовых Π±Π»ΠΎΠΊΠ°.
Ассоциация ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠΉ, ΠΈ Ρ‚ΠΎΠ³Π΄Π° Π½Π° ΠΊΠΎΠ½Ρ†Π°Ρ… ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ Π΅Ρ‘ Π»ΠΈΠ½ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ подписаны Ρ€ΠΎΠ»ΠΈ, принадлСТности, ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, видимости ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ свойства.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов для Π½Π΅Π³ΠΎ

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ с Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ (вводятся с консоли) β€” ΠΏΠΎ 5 ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² класса TemperatureMeasure ΠΈ усрСдняСт ΠΈΡ…. Π’Π°ΠΊΠΆΠ΅ прСдусмотрСн класс ShowMeasure для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ИспользованиС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов UML ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

ΠŸΡ€Π΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅

ΠŸΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования (Π΄Π°Π»Π΅Π΅ просто ООП) повсСмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ создании соврСмСнного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. МодСль ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², залоТСнная Π² Π΄Π°Π½Π½ΡƒΡŽ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡƒ, способна достаточно Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ свойства ΠΈ возмоТности сущностСй Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°. РазумССтся, эти ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ обособлСнно Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°, ΠΎΠ½ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ для достиТСния ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ глобальной Ρ†Π΅Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ систСмы.

Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ языка программирования – Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ сборник ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΡƒΡ‚ΠΈΠ»ΠΈΡ‚. Однако Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹Ρ… программистами Π·Π°Π΄Π°Ρ‡ Ρ‚Π°ΠΊ Π²Π΅Π»ΠΈΠΊΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π΅ получится. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρƒ часто приходится самому ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ Π΅ΠΌΡƒ Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, создав ΠΏΠ°ΠΊΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€ классов.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ собствСнных классов ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ добавляСт Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ абстракции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» систСмы ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² дальнСйшСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π½ΠΈΠΌ.

ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классовЧСм Π²Ρ‹ΡˆΠ΅ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ абстракции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ программист, Ρ‚Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π΅Π³ΠΎ продуктивности ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ прилоТСния.

ИспользованиС ООП ΠΌΠΎΠΆΠ΅Ρ‚ сущСствСнно ΡƒΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Тизнь программисту. Π­Ρ‚ΠΎ достигаСтся Π·Π° счёт сокрытия особСнностСй Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ классов. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρƒ остаётся лишь ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΅Ρ‘ удобствами. ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ ООП – панацСя ΠΎΡ‚ всСх ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Однако Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, Ссли Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‡Ρ‘Ρ‚ΠΊΠΎΠ³ΠΎ прСдставлСния ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ классы Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΊΠ°ΠΊ ΠΈΠΌΠΈ ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΎΡ‡Π΅Π½ΡŒ запутанная систСма, которая Π½Π°Ρ‡Π½Ρ‘Ρ‚ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Ρ‚ΡŒ спагСтти-ΠΊΠΎΠ΄Ρƒ (ΠΎΡ‚ Π°Π½Π³Π». β€œspaghetti code”), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ лишь ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ΅ Π² систСму.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈ использовании ООП, Π½ΡƒΠΆΠ½ΠΎ:

Π˜ΠΌΠ΅Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚ создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ использования классов.

Π‘Ρ‚Ρ€ΠΎΠΈΡ‚ΡŒ структурныС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов.

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΡ€ΠΈΠ΄Ρ‘Ρ‚ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ, Π° со Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ я ΠΌΠΎΠ³Ρƒ вас ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒ прямо сСйчас. БСгодня ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ классов UML.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

КакоС количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов являСтся основным срСдством модСлирования структуры Π² UML, Π° класс, соотвСтствСнно, основной структурной Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ΠΉ. Π­Ρ‚ΠΎ совсСм Π½Π΅ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ Π²ΠΏΠΎΠ»Π½Π΅ СстСствСнно, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ UML являСтся Π² большой стСпСни ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языком. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎ насыщСны ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ каноничСских Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ UML, инструмСнты Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ΄ Π² основном ΠΏΠΎ описанию классов, структура классов Ρ‚ΠΎΡ‡Π½Π΅Π΅ всСго соотвСтствуСт ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ структурС ΠΊΠΎΠ΄Π° прилоТСния.

На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°Ρ… классов Π² качСствС сущностСй ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго, классы, ΠΊΠ°ΠΊ Π² своСй Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΠ΅, Ρ‚Π°ΠΊ ΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ΅ многочислСнных стСрСотипов ΠΈ частных случаСв: интСрфСйсы, Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ классы ΠΈ Π΄Ρ€. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ (ΠΊΠ°ΠΊ ΠΈ Π²Π΅Π·Π΄Π΅) ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ.

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ рассматриваСм сущности, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°Ρ… классов, Π° Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ β€’ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ этими сущностями.

3.2.1. ΠšΠ»Π°ΡΡΡ‹

Класс β€’ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых «Π±ΠΎΠ³Π°Ρ‚Ρ‹Ρ…» элСмСнтов модСлирования UML. ОписаниС класса ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… элСмСнтов, ΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΡƒΡ‚Π°Π»ΠΈΡΡŒ, Π² языкС прСдусмотрСно Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ элСмСнтов описания класса ΠΏΠΎ сСкциям (compartment). Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Ρ… сСкций Ρ‚Ρ€ΠΈ:

Как ΠΈ всС основныС сущности UML, класс ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ имя, Π° стало Π±Ρ‹Ρ‚ΡŒ, сСкция ΠΈΠΌΠ΅Π½ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡƒΡ‰Π΅Π½Π°. ΠŸΡ€ΠΎΡ‡ΠΈΠ΅ сСкции ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ пустыми ΠΈΠ»ΠΈ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ вовсС. Наряду со стандартными сСкциями, описаниС класса ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ количСство Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сСкций. БСмантичСски Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ сСкции эквивалСнты примСчаниям. Если инструмСнт ΡƒΠΌΠ΅Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сСкциях, ΠΏΡƒΡΡ‚ΡŒ Π΄Π΅Π»Π°Π΅Ρ‚. Π’ любом случаС инструмСнт обязан ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ.

Нотация классов ΠΎΡ‡Π΅Π½ΡŒ проста β€’ это всСгда ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ. Если сСкций Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ, Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° дСлится Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ линиями Π½Π° части, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ сСкциям.

ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

Рис. Випичная нотация класса

βˆ‡ НСкоторыС инструмСнты ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π² сСкции класса Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ тСксты, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ ΠΈ Π·Π½Π°Ρ‡ΠΊΠΈ.

БСкция ΠΈΠΌΠ΅Π½ΠΈ класса Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис.

НСкоторыС инструмСнты Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ использованиС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² синтаксиса для тСкстов Π² сСкциях. НапримСр, синтаксис описания Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Π² стилС, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½ΠΎΠΌ UML, ΠΈΠ»ΠΈ ΠΆΠ΅ Π² стилС Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ языка программирования Π΄Π°Π½Π½ΠΎΠ³ΠΎ инструмСнта. Π’Π°ΠΊΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ стандартом ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ синтаксиса сСмантичСски эквивалСнты ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Ρ‹ Π΄Ρ€ΡƒΠ³ Π² Π΄Ρ€ΡƒΠ³Π° Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ примСняСтся стандартный синтаксис.

ИмСни класса ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ стСрСотип. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ пСрСчислСны стандартныС стСрСотипы классов.

Π’Π°Π±Π». Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ стСрСотипы классов

Π‘Ρ‚Π΅Ρ€Π΅ΠΎΡ‚ΠΈΠΏΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
Β«actorΒ»Π”Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π»ΠΈΡ†ΠΎ
Β«auxiliaryΒ»Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс
Β«enumerationΒ»ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…
Β«exceptionΒ»Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² UML 1)
«focus»Основной класс
Β«implementationClass»РСализация класса
Β«interface»ВсС ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ абстрактныС
Β«metaclass»ЭкзСмпляры ΡΠ²Π»ΡΡŽΡ‚ΡΡ классами
Β«powertypeΒ»ΠœΠ΅Ρ‚Π°ΠΊΠ»Π°ΡΡ, экзСмплярами ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡΠ²Π»ΡΡŽΡ‚ΡΡ всС наслСдники Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² UML 1)
Β«process»Активный класс
Β«thread»Активный класс (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² UML 1)
Β«signal»Класс, экзСмплярами ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡΠ²Π»ΡΡŽΡ‚ΡΡ сигналы
Β«stereotype»Новый элСмСнт Π½Π° основС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ
Β«typeΒ»Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…
Β«dataTypeΒ»Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…
Β«utility»НСт экзСмпляров, слуТба

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ имя класса ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΎ курсивом ΠΈ Π² этом случаС Π΄Π°Π½Π½Ρ‹ΠΉ класс являСтся абстрактным, Ρ‚.Π΅. Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌ нСпосрСдствСнных экзСмпляров.

Если имя ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΠΎ, Ρ‚ΠΎ это ΡƒΠΆΠ΅ Π½Π΅ имя класса, Π° имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Класс, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты Π΅Π³ΠΎ описания ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ограничСния ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ значСния (см. ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„ 1.8.4).

ΠšΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ класса задаСтся ΠΏΠΎ ΠΎΠ±Ρ‰ΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ (см. ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„ 3.1.3).

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сСкции ΠΈΠΌΠ΅Π½ΠΈ класса для нашСй ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΎΡ‚Π΄Π΅Π»Π° ΠΊΠ°Π΄Ρ€ΠΎΠ².

Если ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ проСктируСмая информационная систСма ΠΎΡ‚Π΄Π΅Π»Π° ΠΊΠ°Π΄Ρ€ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ прСдприятии, Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ слуТСбного класса Company со стСрСотипом Β«utilityΒ» для хранСния Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΎΡ‚Π΄Π΅Π»Π° ΠΊΠ°Π΄Ρ€ΠΎΠ². БСкция ΠΈΠΌΠ΅Π½ΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ класса ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½ΠΈΠΆΠ΅.

ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

Рис. БСкция ΠΈΠΌΠ΅Π½ΠΈ слуТбы

3.2.2. Атрибуты

Атрибут β€” это ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠ΅ мСсто (ΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ говорят, слот), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Атрибуты класса ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ Π² сСкции Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ². Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС описаниС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис.

. Π•Ρ‰Π΅ Ρ€Π°Π· ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ссли Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π°, Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ значСния видимости ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π΅ подразумСваСтся.

Если имя Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΠΎ, Ρ‚ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ дСйствия Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° являСтся класс, Π° Π½Π΅ экзСмпляр класса, ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ β€’ экзСмпляры этого класса совмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°, ΠΎΠ±Ρ‰Π΅Π΅ для всСх экзСмпляров. Π’ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ситуации (Π½Π΅Ρ‚ подчСркивания) ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ экзСмпляр класса Ρ…Ρ€Π°Π½ΠΈΡ‚ своС ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°.

ΠšΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ, Ссли ΠΎΠ½Π° присутствуСт, опрСдСляСт Π΄Π°Π½Π½Ρ‹ΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΊΠ°ΠΊ массив (ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹).

Π’ΠΈΠΏ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° β€’ это Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ (встроСнный) Ρ‚ΠΈΠΏ, Π»ΠΈΠ±ΠΎ Ρ‚ΠΈΠΏ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ (см. ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„ 3.2.4).

ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ смысл: ΠΏΡ€ΠΈ создании экзСмпляра Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ссли Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ, Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π΅ подразумСваСтся. Если Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠΌΠ΅Π» Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚ΠΎ ΠΎΠ± этом Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ конструктор класса.

Как ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ элСмСнт ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π΄Π΅Π»Π΅Π½ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ свойствами Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

Π£ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² имССтся Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ стандартноС свойство: ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ (changeability). Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ пСрСчислСны Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния этого свойства.

Π’Π°Π±Π». ЗначСния свойства измСняСмости Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°

Никаких ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ значСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Π½Π΅ накладываСтся. Π”Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ мСсто ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, поэтому ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΅Π³ΠΎ излишнС.
ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² UML 1, Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€’ Π² UML 2ΠŸΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ значСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ добавляСтся Π² массив Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π½ΠΎ старыС значСния Π½Π΅ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΈ Π½Π΅ ΠΈΡΡ‡Π΅Π·Π°ΡŽΡ‚. Π’Π°ΠΊΠΎΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ «ΠΏΠΎΠΌΠ½ΠΈΡ‚» ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ своСго измСнСния.
Π’ UML 2 Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ρ‚.ΠΊ. сСмантика ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π½Π΅Ρ‡Π΅Ρ‚ΠΊΠΎ.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° задаСтся ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ.
ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² UML 1, Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€’ Π² UML 2

Π’Π°Π±Π». ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ описаний Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ²

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠŸΠΎΡΡΠ½Π΅Π½ΠΈΠ΅
nameМинимальноС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ описаниС β€’ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ имя Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°
+nameΠ£ΠΊΠ°Π·Π°Π½Ρ‹ имя ΠΈ открытая Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ β€’ прСдполагаСтся, Ρ‡Ρ‚ΠΎ манипуляции с ΠΈΠΌΠ΅Π½Π΅ΠΌ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ нСпосрСдствСнно
-name : StringΠ£ΠΊΠ°Π·Π°Π½Ρ‹ имя, Ρ‚ΠΈΠΏ ΠΈ закрытая Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ β€’ манипуляции с ΠΈΠΌΠ΅Π½Π΅ΠΌ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ
-name[1..3] : StringΠ’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ ΡƒΠΊΠ°Π·Π°Π½Π° ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ (для хранСния Ρ‚Ρ€Π΅Ρ… ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ…; Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ, ΠΈΠΌΠ΅Π½ΠΈ ΠΈ отчСства)
-name : String=»Novikov»Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
+name : String

Атрибут объявлСн Π½Π΅ ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΌ своСго значСния послС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ присваивания ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ βˆ‡

βˆ‡ Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС это, Π²ΠΈΠ΄ΠΈΠΌΠΎ, ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ: Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ name инициализируСтся конструктором ΠΏΡ€ΠΈ создании ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° класса Person ΠΈ послС этого Π½Π΅ мСняСт своСго значСния. Π’ Ρ‚ΠΎΠΆΠ΅ врСмя ΠΊ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρƒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ доступ (фактичСски Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅) ΠΈ Π½Π΅Ρ‚ Π½ΡƒΠΆΠ΄Ρ‹ Π² опСрациях для измСнСния значСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°.

3.2.3. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ β€’ это спСцификация дСйствия с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ: ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ значСния Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², вычислСниС Π½ΠΎΠ²ΠΎΠ³ΠΎ значСния ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, хранящСйся Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ ΠΈ Ρ‚.Π΄.

ОбъявлСниС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² классС ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² этом ΠΆΠ΅ классС. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ являСтся ситуация, ΠΊΠΎΠ³Π΄Π° опСрация объявлСна абстрактной ΠΈ Π΅Π΅ рСализация содСрТится Π² подклассах.

ΠœΠ΅Ρ‚ΠΎΠ΄ β€’ это рСализация ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‚.Π΅. выполняСмый Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ.

βˆ‡ Иногда вмСсто слов «Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π°» Π² ΠΊΠ½ΠΈΠ³Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ±ΠΎΡ€ΠΎΡ‚ «Π²Ρ‹Π·ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ», Ρ‡Ρ‚ΠΎ, Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ говоря, являСтся ошибкой. Однако ΠΌΡ‹ допускаСм ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ, Ссли это ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ восприятиС ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°.

ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΌΠΎΠ³ΡƒΡ‚, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ этого ΠΆΠ΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… классов.

Описания ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ класса ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ Π² сСкции ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис.

Π—Π΄Π΅ΡΡŒ слово ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ описаний ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚.

НаправлСниС ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π² UML описываСт сСмантичСскоС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π½Π΅ конкрСтизируя ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ. Как ΠΈΠΌΠ΅Π½Π½ΠΎ слСдуСт Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ направлСния ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², зависит ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ систСмы программирования. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния направлСния ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅.

Π’Π°Π±Π». ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова для описания направлСния ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ словоНазначСниС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°
inΠ’Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ β€’ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π½ΠΎ Π½Π΅ измСняСтся
outΠ’Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ β€’ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ опСрация ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
inoutΠ’Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ β€’ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ, содСрТащим Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
returnΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ. Π’Π°ΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ направлСния ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ устанавливаСтся автоматичСски для Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния

Π’ΠΈΠΏΠΎΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ€Π°Π²Π½ΠΎ ΠΊΠ°ΠΊ ΠΈ Ρ‚ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ значСния ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любой встроСнный Ρ‚ΠΈΠΏ ΠΈΠ»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ класс, интСрфСйс ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ….

ВсС вмСстС (имя ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ Ρ‚ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°) ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ сигнатурой (signature) ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ сигнатурой имя ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ плюс количСство, порядок ΠΈ Ρ‚ΠΈΠΏΡ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² (Ρ‚.Π΅. Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ ΠΈΡ… ΠΈΠΌΠ΅Π½Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π½Π΅ входят Π² сигнатуру). Но это Ρ‚ΠΎΡ‡ΠΊΠ° Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ сСмантики β€’ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ инструмСнтС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ понятиС сигнатуры. Если сигнатуры Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹, Ρ‚ΠΎ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ (Π΄Π°ΠΆΠ΅ Ссли ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ ΠΈΠΌΠ΅Π½Π°). Π’ ΠΎΠ΄Π½ΠΎΠΌ классС Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π²ΡƒΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с ΠΎΠ΄Π½ΠΎΠΉ сигнатурой β€’ модСль считаСтся ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ²ΠΎΠΉ. Если Π² подклассС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° опСрация с Ρ‚ΠΎΠΉ ΠΆΠ΅ самой сигнатурой, Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Π΄Π²Π° случая. Если описаниС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² подклассС Π² точности Ρ‚ΠΎ ΠΆΠ΅ самоС ΠΈΠ»ΠΈ Ссли ΠΎΠ½ΠΎ являСтся Π½Π΅ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ²Ρ‹ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² классС Π½Π΅ Π±Ρ‹Π» ΡƒΠΊΠ°Π·Π°Π½ Ρ‚ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Π° Π² подклассС ΠΎΠ½ ΡƒΠΊΠ°Π·Π°Π½), Ρ‚ΠΎ это ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ описаниС Ρ‚ΠΎΠΉ ΠΆΠ΅ самой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Если ΠΆΠ΅ описаниС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΉ сигнатурой Π² подклассС ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΡ‚ описанию Π² классС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, явно ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ направлСния ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²), Ρ‚ΠΎ модСль считаСтся ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ²ΠΎΠΉ.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько Π²Π°ΠΆΠ½Ρ‹Ρ… свойств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² спискС свойств ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ значСния.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, это ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ (concurrency) β€’ свойство, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅ сСмантику ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ (ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ) Π²Ρ‹Π·ΠΎΠ²Π° Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π’ прилоТСниях, Π³Π΄Π΅ имССтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡ‚ΠΎΠΊ управлСния, Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ссли опСрация Π²Ρ‹Π·Π²Π°Π½Π°, Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ приостанавливаСтся Π² Ρ‚ΠΎΡ‡ΠΊΠ΅ Π²Ρ‹Π·ΠΎΠ²Π° Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²Ρ‹Π·Π²Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π’ ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… прилоТСниях Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ находится Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ выполняСтся Ρ€ΠΎΠ²Π½ΠΎ ΠΎΠ΄Π½Π° опрСдСлСнная опСрация. РСкурсивный Π²Ρ‹Π·ΠΎΠ² (Ρ‚.Π΅. Π²Ρ‹Π·ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ· Π½Π΅Π΅ самой) Π½Π΅ считаСтся ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΈ рСкурсивном Π²Ρ‹Π·ΠΎΠ²Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, приостанавливаСтся ΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, всСгда выполняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ экзСмпляр рСкурсивной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. НС Ρ‚Π°ΠΊ обстоит Π΄Π΅Π»ΠΎ Π² прилоТСниях, Π³Π΄Π΅ имССтся нСсколько ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² управлСния. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС опСрация ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΈ Π² Ρ‚ΠΎ врСмя, ΠΏΠΎΠΊΠ° Π΅Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΅Ρ‰Π΅ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΠΎΡΡŒ, Π²Ρ‹Π·Π²Π°Π½Π° ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства concurrency опрСдСляСт, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² этом случаС. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΈ ΠΈΡ… описания Π΄Π°Π½Ρ‹ Π½ΠΈΠΆΠ΅.

Π’Π°Π±Π». ЗначСния свойства concurrency

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ Π½Π΅ допускаСт ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° (Π½Π΅ являСтся ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ-Π²Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ). Если ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² происходит, Ρ‚ΠΎ дальнСйшСС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ систСмы Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ.
ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ… выполняСтся β€’ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ΡΡ, ΠΈ ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ задСрТиваСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°. βˆ‡
ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ допускаСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ число ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ своСго выполнСния. Π’Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ-Π²Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ (reenterable).

βˆ‡ Вакая сСмантика ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ€ΠΎΠ΄ΠΈΡ‚ΡŒ состояниС Π²Π·Π°ΠΈΠΌΠ½ΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ (ΠΈΠ»ΠΈ Ρ‚ΡƒΠΏΠΈΠΊΠ°), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄Π²Π° ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ процСссов Π²Π·Π°ΠΈΠΌΠ½ΠΎ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π° ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

βˆ‡ Π’Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ функциями, ΠΈΠ»ΠΈ запросами.

Π’-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, Ссли рСализация ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ Π² подклассах, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ . По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ .

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ описания Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ класса Person ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΎΡ‚Π΄Π΅Π»Π° ΠΊΠ°Π΄Ρ€ΠΎΠ².

Π’Π°Π±Π». ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ описания ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠŸΠΎΡΡΠ½Π΅Π½ΠΈΠ΅
move()МинимальноС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ описаниС β€’ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ имя ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
+move(in from, in to)Π£ΠΊΠ°Π·Π°Π½Ρ‹ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, направлСния ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈ ΠΈΠΌΠ΅Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²
+move(in from:Department,
in to:Department)
ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС сигнатуры: ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, направлСния ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ, ΠΈΠΌΠ΅Π½Π° ΠΈ Ρ‚ΠΈΠΏΡ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²
+getName():String

Ѐункция, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π°Ρ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Ρ… эффСктов

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ абстрактной, Ρ‚.Π΅. Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½, Π² UML Π½Π΅ прСдусмотрСна ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ нотация для описания самого ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. Как ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… случаях, Π½Π΅ Π½Π°ΡˆΠ΅Π΄ΡˆΠΈΡ… ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, использованиС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ допустимой Π·Π°ΠΌΠ΅Π½ΠΎΠΉ.

3.2.4. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΈ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ UML имССтся нСсколько частных случаСв классификаторов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ классам, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для модСлирования структуры, Π½ΠΎ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ рядом спСцифичСских особСнностСй. НаиболСС Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ ΠΈΠ· Π½ΠΈΡ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ интСрфСйсы ΠΈ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ β€’ это ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ…, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ поставщиками ΠΈ потрСбитСлями услуг.

Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, интСрфСйс β€’ это абстрактный класс, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ всС ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ β€’ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ β€’ абстрактны.

Π£ читатСля ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π·Π°ΠΊΠΎΠ½Π½Ρ‹ΠΉ вопрос β€’ Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ абстрактныС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹? ΠžΡ‚Π²Π΅Ρ‡Π°Π΅ΠΌ: абстрактныС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ интСрфСйса β€’ это Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π² классС, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΌ интСрфСйс.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ интСрфСйс β€’ это абстрактный класс, ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСпосрСдствСнных экзСмпляров.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Ρ‚Π΅ΠΌΠ° для обсуТдСния β€’ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ всС связанноС с Π½ΠΈΠΌ являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых заслуТСнных ΠΈ Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ программирования.

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… β€’ это ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Π΄Π²ΡƒΡ… Π²Π΅Ρ‰Π΅ΠΉ: мноТСства Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ большого ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ бСсконСчного) ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ мноТСства ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹Ρ… ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ значСниям.

βˆ‡ Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Π°ΠΆΠ½ΡƒΡŽ ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΊΡƒ: это Ρ‚Π°ΠΊ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², Π½ΠΎ Π½Π΅ Π²ΠΎ всСх. Π£ΠΆΠ΅ Π΄Π°Π²Π½ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Π°ΠΊΠΎΠ²Π°, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Π² памяти ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ опрСдСляСтся ΠΏΠΎ самим этим Π΄Π°Π½Π½Ρ‹ΠΌ. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, это достигаСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ вмСстС с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² качСствС ΠΈΡ… Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ части хранится информация (называСмая Ρ‚Π΅Π³ΠΎΠΌ) ΠΎ Ρ‚ΠΈΠΏΠ΅ этих Π΄Π°Π½Π½Ρ‹Ρ….

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΠΈΡ‚ΡŒ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ послСдствия примСнСния ΠΊΠΎΠΌΠ°Π½Π΄ ΠΊ нСподходящим Π΄Π°Π½Π½Ρ‹ΠΌ, Π² языках программирования, особСнно Π² языках высокого уровня, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ концСпция Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…: элСмСнтам языка, отвСтствСнным Π·Π° Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ прСдставлСниС Π΄Π°Π½Π½Ρ‹Ρ…, Π² частности, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ, приписываСтся Ρ‚ΠΈΠΏ. ИдСя состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ элСмСнт Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ значСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ этого Ρ‚ΠΈΠΏΠ°, ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌΠΈ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ с Π΄Π°Π½Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ….

По способу приписывания Ρ‚ΠΈΠΏΠ° языки программирования ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° языки со статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, ΠΊΠΎΠ³Π΄Π° Ρ‚ΠΈΠΏ элСмСнта языка (ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ) Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ языки с динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΏΠΎ Ρ…ΠΎΠ΄Ρƒ выполнСния.

UML Π½Π΅ являСтся сильно Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языком: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² классов ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π½ΠΎ это Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ соотвСтствиС Ρ‚ΠΈΠΏΠΎΠ², Ссли ΠΎΠ½ΠΈ ΡƒΠΊΠ°Π·Π°Π½Ρ‹, Π½ΠΎ Π½Π΅ обязан этого Π΄Π΅Π»Π°Ρ‚ΡŒ. (ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Ρ‚ΠΈΠΏΠΎΠ² β€’ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΡ‡ΠΊΠΈ Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ сСмантики Π² языкС). Π’Π°ΠΊΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ принято Π² расчСтС Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ UML ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ совмСстно с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ языками программирования, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠ³ΠΎ контроля, ΠΈ навязываниС ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ»ΠΎ Π±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ UML.

Π—Π΄Π΅ΡΡŒ умСстно Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° Π΄Π²Π° Π²Π°ΠΆΠ½Ρ‹Ρ… вопроса.

ΠžΡ‚Π²Π΅Ρ‚ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ вопрос разбросан ΠΏΠΎ тСксту ΠΊΠ½ΠΈΠ³ΠΈ. Π‘ΠΊΠΎΠ½Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ здСсь Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ссылки. Π’ UML Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ:

ΠžΡ‚Π²Π΅Ρ‚ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ вопрос β€’ Ρ‡Ρ‚ΠΎ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² качСствС Ρ‚ΠΈΠΏΠ° β€’ с ΠΎΠ΄Π½ΠΎΠΉ стороны, ΠΎΡ‡Π΅Π½ΡŒ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π΅Π½, Π°, с Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ обсуТдСния. Π›Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ Π·Π²ΡƒΡ‡ΠΈΡ‚ Ρ‚Π°ΠΊ: Ρ‚ΠΈΠΏ указываСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ классификатора. ΠžΠ±ΡΡƒΠ΄ΠΈΠΌ это. Если Ρ‚ΠΈΠΏΡ‹ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ классификатора ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Ρ€ΡƒΠ³ΠΈΡ… классификаторов, Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°: Π»ΠΈΠ±ΠΎ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π·Π°ΠΌΠΊΠ½ΡƒΡ‚ΡƒΡŽ систСму Π²Π·Π°ΠΈΠΌΠ½ΠΎ рСкурсивных ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π½ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Π²Π½Π΅ΡˆΠ½ΠΈΡ… сущностях, Π»ΠΈΠ±ΠΎ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… классификаторов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ для опрСдСлСния ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ….

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ (Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ всС опрСдСляСтся Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠΉ систСмы) каТСтся ΡΠΎΠ±Π»Π°Π·Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, Π½ΠΎ, ΠΊ соТалСнию, ΠΎΠ½ Π½ΠΈΠΊΡƒΠ΄Π° Π½Π΅ Π²Π΅Π΄Π΅Ρ‚. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ обсуТдСниС этого Ρ„Π°ΠΊΡ‚Π°, хотя ΠΈ ΠΏΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ с тСорСтичСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния, ΡƒΠ²Π΅Π»ΠΎ Π±Ρ‹ нас слишком Π΄Π°Π»Π΅ΠΊΠΎ ΠΎΡ‚ основной Ρ‚Π΅ΠΌΡ‹ ΠΊΠ½ΠΈΠ³ΠΈ. ΠœΡ‹ сошлСмся Π½Π° Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Ρ‚: Π² распространСнных языках программирования Ρ‚Π°ΠΊ Π½Π΅ Π΄Π΅Π»Π°ΡŽΡ‚.

Π’ UML, Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ Π² распространСнных языках программирования ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… систСмах, имССтся Π½Π°Π±ΠΎΡ€ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классификаторов, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΈΠΏΡ‹ элСмСнтов ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π² частности Ρ‚ΠΈΠΏΡ‹ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… классификаторов. Π­Ρ‚ΠΎ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ ΠΌΠΎΠ΄Π΅Π»ΠΈ UML ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€ΠΈ Π²ΠΈΠ΄Π° Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

Рис. ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… 3Logic

ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

Рис. Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Real β€’ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число

Π’ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос: Ρ‡Π΅ΠΌ ΠΆΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ ΠΏΡ€ΠΎΡ‡ΠΈΡ… классификаторов UML?

βˆ‡ ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ «ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ», хотя сСмантичСски ΠΎΠ½ Π½Π΅ Ρ‚ΠΎΡ‡Π΅Π½. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ являСтся Π½Π΅ΠΎΠ»ΠΎΠ³ΠΈΠ·ΠΌ «ΡΠ°ΠΌΠΎΡΡ‚ΡŒ», Π½ΠΎ это слово Ρ‡Π°ΡΡ‚Π΅Π½ΡŒΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΎΠΊΠΊΡƒΠ»ΡŒΡ‚Π½ΠΎΠΉ ΠΈ мистичСской Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π΅, ΠΈ ΠΌΡ‹ воздСрТимся ΠΎΡ‚ Π΅Π³ΠΎ употрСблСния.

Π­Ρ‚ΠΎ довольно Ρ‚ΠΎΠ½ΠΊΠΎΠ΅ понятиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ βˆ‡ экзСмпляров Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π²Π»Π΅Ρ‡Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ общСпринятыС ограничСния Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ….

βˆ‡ Π’ этом контСкстС ясно Π²ΠΈΠ΄Π½ΠΎ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ слово «ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ» Π½Π΅ являСтся Π² Π΄Π°Π½Π½ΠΎΠΌ случаС сСмантичСски Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° identity. КаТдоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π² общСпринятом смыслС этого слова: число «Ρ‚Ρ€ΠΈ» β€” это Π½Π΅ число «ΠΏΡΡ‚ΡŒ».

Π‘Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅Π»Π΅ΠΏΠΎ, Ссли Π±Ρ‹ опСрация слоТСния для числа «Ρ‚Ρ€ΠΈ» Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° Π±Ρ‹ ΠΏΠΎ ΠΈΠ½ΠΎΠΌΡƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ, Π½Π΅ΠΆΠ΅Π»ΠΈ опСрация слоТСния для числа «ΠΏΡΡ‚ΡŒ». ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ дСйствия ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρ‚ΠΈΠΏΠ° всСгда являСтся классификатор, Π° Π½Π΅ экзСмпляр (Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚Ρ‹, см. рис. ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… 3Logic).

ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

Рис. ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… 3Logic

βˆ‡ Π’ нашСм распоряТСнии Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΡ‡Π΅Π½ΡŒ частный ΠΊΠΎΠ½Ρ‚Ρ€ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: опСрация delay Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π΄Π°Ρ‚Π°/врСмя, которая Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ вычисляСт, Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΉ эффСкт Π² Π²ΠΈΠ΄Π΅ строго ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ своСго выполнСния. Но ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ.

βˆ‡ Для ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… языков программирования ΠΈ распространСнных Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° опСрация β€’ это, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎΠ΄Π½Π° машинная ΠΊΠΎΠΌΠ°Π½Π΄Π°.

βˆ‡ Если Π±Ρ‹ это Π±Ρ‹Π» ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ класс, Π° Π½Π΅ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, наши ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅Π»ΠΈ Π±Ρ‹ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ.

3.2.5. Π¨Π°Π±Π»ΠΎΠ½Ρ‹

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒΡŽ, которая Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов, ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹.

Π¨Π°Π±Π»ΠΎΠ½ β€’ это ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ (Ρ‡Π°Ρ‰Π΅ всСго классификатор) с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любой элСмСнт описания классификатора β€’ Ρ‚ΠΈΠΏ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ, ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΈ Ρ‚.Π΄. На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ шаблон изобраТаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стандартной Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ классификатора β€’ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ присоСдинСн ΠΏΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½Ρ‹ΠΉ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ шаблона. Описания ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΡ… ΠΈΠΌΠ΅Π½Π°, ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ Π² этом ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ΅ Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ.

Π‘Π°ΠΌ ΠΏΠΎ сСбС шаблон Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ нСпосрСдствСнно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° основС шаблона ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ экзСмпляр классификатора, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ явныС значСния Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π’Π°ΠΊΠΎΠ΅ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ называСтся связываниСм (binding). Π’ UML ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π΄Π²Π° способа связывания:

ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

Рис. Π―Π²Π½ΠΎΠ΅ ΠΈ нСявноС связываниС шаблона

НазначСниС ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния шаблонов понятны β€’ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π½ΡƒΠΆΠ½Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ±Ρ‰ΡƒΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ классификатора ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ, подставляя ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ значСния Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π―Π²Π½ΠΎΠ΅ связываниС Π±ΠΎΠ»Π΅Π΅ наглядно, нСявноС связываниС ΠΌΠ΅Π½Π΅Π΅ наглядно, Π·Π°Ρ‚ΠΎ записываСтся ΠΊΠΎΡ€ΠΎΡ‡Π΅.

ИспользованиС шаблонов β€’ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°, которая поддСрТиваСтся UML наряду с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ.

На этом ΠΌΡ‹ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π΅ΠΌ обсуТдСниС сущностСй Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов. ВсС Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ β€’ привСсти Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ ΠΌΠ΅Ρ‚Π°ΠΌΠΎΠ΄Π΅Π»ΠΈ для основных структурных сущностСй.

ΠΊΠ°ΠΊΠΎΠ΅ количСство сСкций ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊ описания класса Π½Π° uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

Рис. ΠœΠ΅Ρ‚Π°ΠΌΠΎΠ΄Π΅Π»ΡŒ структурных сущностСй

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *