Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ UMLΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 28

Автор АлСксандр Π›Π΅ΠΎΠ½Π΅Π½ΠΊΠΎΠ²

ПоявлСниС сигнатуры ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° самом Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ эту ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π½Π° вСсь класс, ΠΏΡ€ΠΈ этом данная опСрация наслСдуСтся всСми ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса. Если Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ классС опСрация Π½Π΅ выполняСтся (Ρ‚. Π΅. Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ примСняСтся), Ρ‚ΠΎ такая опСрация ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π° ΠΊΠ°ΠΊ абстрактная Β«{abstract}Β». Π”Ρ€ΡƒΠ³ΠΎΠΉ способ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ абстрактный Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ – Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π΅ сигнатуру курсивом. ΠŸΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½ΠΎΠ΅ появлСниС записи Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π±Π΅Π· свойства {абстрактная} ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ класс-ΠΏΠΎΡ‚ΠΎΠΌΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π² качСствС своСго "ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

Если для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ особСнности Π΅Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ), Ρ‚ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сдСлано Π² Ρ„ΠΎΡ€ΠΌΠ΅ примСчания, записанного Π² Π²ΠΈΠ΄Π΅ тСкста, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ присоСдиняСтся ΠΊ записи ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ сСкции класса. Если ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ класса ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΈ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‚ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сигнал, Ρ‚ΠΎ запись Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ помСчаСтся ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом «сигнал» (Β«signalΒ»). Π­Ρ‚ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. РСакция ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π° ΠΏΡ€ΠΈΠ΅ΠΌ сигнала ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π² Π²ΠΈΠ΄Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π°. ΠšΡ€ΠΎΠΌΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… случаСв эта нотация ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π΅Π°ΠΊΡ†ΠΈΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² класса Π½Π° ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹Π΅ ситуации ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ сигналы ΠΈΠ»ΠΈ сообщСния.

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

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

Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² записи ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ привСсти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ обозначСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ:

β€’ +ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ() – ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ‚Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ созданию ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° класса, которая являСтся общСдоступной ΠΈ Π½Π΅ содСрТит Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Π­Ρ‚Π° опСрация Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ значСния послС своСго выполнСния.

β€’ +Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ(Ρ„ΠΎΡ€ΠΌΠ°: ΠœΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ = ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, Ρ†Π²Π΅Ρ‚_Π·Π°Π»ΠΈΠ²ΠΊΠΈ: Color = (О, О, 255)) – ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ Π½Π° экранС ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ области синСго Ρ†Π²Π΅Ρ‚Π°, Ссли Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ значСния Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

β€’ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ_счСт_ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°(Π½ΠΎΠΌΠ΅Ρ€_счСта:1ΠΏ1Π΅Β§Π΅Π³):БиггСпсу – ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡŽ наличия срСдств Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ счСтС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π±Π°Π½ΠΊΠ°. ΠŸΡ€ΠΈ этом Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ являСтся Π½ΠΎΠΌΠ΅Ρ€ счСта ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ записываСтся Π² Π²ΠΈΠ΄Π΅ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«123456Β»). Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ выполнСния этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ являСтся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ число, записанноС Π² принятом Π΄Π΅Π½Π΅ΠΆΠ½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, $1,500.00).

β€’ Π²Ρ‹Π΄Π°Ρ‚ΡŒ_сообщСниС():{"Ошибка дСлСния Π½Π° ноль"} – смысл Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ пояснСния, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ содСрТится Π² строкС-свойствС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π”Π°Π½Π½ΠΎΠ΅ сообщСниС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π½Π° экранС ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° Π² случаС ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ дСлСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ числа Π½Π° ноль, Ρ‡Ρ‚ΠΎ нСдопустимо.

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

ΠšΡ€ΠΎΠΌΠ΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ устройства ΠΈΠ»ΠΈ структуры классов Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ классами. ΠŸΡ€ΠΈ этом ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠΎΠ² Ρ‚Π°ΠΊΠΈΡ… ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ фиксирована Π² языкС UML ΠΈ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° сСмантикой этих Ρ‚ΠΈΠΏΠΎΠ² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ. Π‘Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈΠ»ΠΈ связями Π² языкС UML ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

β€’ ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ зависимости (dependency relationship)

β€’ ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ассоциации (association relationship)

β€’ ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ обобщСния (generalization relationship)

β€’ ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (realization relationship)

КаТдоС ΠΈΠ· этих ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ собствСнноС графичСскоС прСдставлСниС Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ взаимосвязи ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… классов.

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ зависимости

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

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ зависимости графичСски изобраТаСтся ΠΏΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ элСмСнтами со стрСлкой Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π΅Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ² (Β«->Β» ΠΈΠ»ΠΈ Β«<-Β»). На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ связываСт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ классы ΠΌΠ΅ΠΆΠ΄Ρƒ собой, ΠΏΡ€ΠΈ этом стрСлка Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π° ΠΎΡ‚ класса-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° зависимости ΠΊ нСзависимому классу ΠΈΠ»ΠΈ классу-источнику (рис. 5.3). На Π΄Π°Π½Π½ΠΎΠΌ рисункС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ Π΄Π²Π° класса: Класс_А ΠΈ Кяасс_Π‘, ΠΏΡ€ΠΈ этом Класс_Π‘ являСтся источником Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ зависимости, Π° Класс_А – ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ этой зависимости.

Рис. 5.3. ГрафичСскоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ зависимости Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

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

Рис. 5.4. ГрафичСскоС прСдставлСниС зависимости ΠΌΠ΅ΠΆΠ΄Ρƒ классом-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ (Класс_Π‘) ΠΈ классами-источниками (Класс_Π› ΠΈ Класс_Π‘)

Π‘Ρ‚Ρ€Π΅Π»ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‡Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, Π½ΠΎ стандартным ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. Для ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ зависимости ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ зависимостСй. Π­Ρ‚ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова (стСрСотипы) Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… рядом со стрСлкой, которая соотвСтствуСт Π΄Π°Π½Π½ΠΎΠΉ зависимости. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ стСрСотипов для ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ зависимости прСдставлСны Π½ΠΈΠΆΠ΅:

β€’ Β«accessΒ» – слуТит для обозначСния доступности ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ класса-источника для классов-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ²;

β€’ Β«bindΒ» – класс-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ шаблон для своСй ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ;

β€’ Β«deriveΒ» – Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ класса-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ вычислСны ΠΏΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ класса-источника;

β€’ Β«importΒ» – ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ класса-источника становятся Ρ‡Π°ΡΡ‚ΡŒΡŽ класса-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ нСпосрСдствСнно Π² Π½Π΅ΠΌ;

β€’ Β«refineΒ» – ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ класс-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ слуТит ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠ΅ΠΌ класса-источника Π² силу ΠΏΡ€ΠΈΡ‡ΠΈΠ½ историчСского Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π°, ΠΊΠΎΠ³Π΄Π° появляСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация Π² Ρ…ΠΎΠ΄Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ 47

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ассоциации

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

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

Π’ качСствС простого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ ассоциации рассмотрим ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя классами – классом «Компания» ΠΈ классом Β«Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΒ» (рис. 5.5). Они связаны ΠΌΠ΅ΠΆΠ΄Ρƒ собой Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ ассоциациСй Π Π°Π±ΠΎΡ‚Π°, имя ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рисункС рядом с Π»ΠΈΠ½ΠΈΠ΅ΠΉ ассоциации. Для Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ порядок слСдования классов, ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… являСтся класс Β«Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΒ», Π° Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ – класс «Компания». ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΈΠ»ΠΈ экзСмпляром Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΏΠ°Ρ€Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (ΠŸΠ΅Ρ‚Ρ€ΠΎΠ² И. И., Β«Π ΠΎΠ³Π°&ΠšΠΎΠΏΡ‹Ρ‚Π°Β»). Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ сотрудник ΠŸΠ΅Ρ‚Ρ€ΠΎΠ² И. И. Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Β«Π ΠΎΠ³Π°&ΠšΠΎΠΏΡ‹Ρ‚Π°Β».