Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ катсцСн ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ дСйствий Π² ΠΈΠ³Ρ€Π°Ρ…

Π’ этом постС я расскаТу ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ дСйствий ΠΈ катсцСны Π² Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€Π°Ρ…. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ являСтся ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ Π²ΠΎΡ‚ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΈ ΠΏΠΎ этой ΠΆΠ΅ Ρ‚Π΅ΠΌΠ΅ я Π΄Π΅Π»Π°Π» Π΄ΠΎΠΊΠ»Π°Π΄ Π½Π° Lua in Moscow, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли Π²Π°ΠΌ большС нравится ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΎΡ‚ здСсь.

Код ΡΡ‚Π°Ρ‚ΡŒΠΈ написан Π½Π° Lua, Π½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ написан Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… языках (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½Ρ‹, Ρ‚.ΠΊ. ΠΎΠ½ΠΈ Π΅ΡΡ‚ΡŒ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΠΎ всСх языках).

Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ показываСтся, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΈΡΠ°Ρ‚ΡŒ катсцСны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²ΠΈΠ΄Π°:

ВступлСниС

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ дСйствий часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€Π°Ρ…. НапримСр, Π² катсцСнах: пСрсонаТ встрСчаСт Π²Ρ€Π°Π³Π°, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π΅ΠΌΡƒ, Π²Ρ€Π°Π³ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ дСйствий ΠΌΠΎΠ³ΡƒΡ‚ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ ΠΈ Π² Π³Π΅ΠΉΠΌΠΏΠ»Π΅Π΅. ВзглянитС Π½Π° эту Π³ΠΈΡ„ΠΊΡƒ:

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

1. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ΡΡ Π΄Π²Π΅Ρ€ΡŒ
2. ΠŸΠ΅Ρ€ΡΠΎΠ½Π°ΠΆ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Π΄ΠΎΠΌ
3. Π”Π²Π΅Ρ€ΡŒ закрываСтся
4. Π­ΠΊΡ€Π°Π½ ΠΏΠ»Π°Π²Π½ΠΎ Ρ‚Π΅ΠΌΠ½Π΅Π΅Ρ‚
5. ΠœΠ΅Π½ΡΠ΅Ρ‚ΡΡ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ
6. Π­ΠΊΡ€Π°Π½ ΠΏΠ»Π°Π²Π½ΠΎ свСтлССт
7. ΠŸΠ΅Ρ€ΡΠΎΠ½Π°ΠΆ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΊΠ°Ρ„Π΅

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ дСйствий Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для скриптования повСдСния NPC ΠΈΠ»ΠΈ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ Π±ΠΈΡ‚Π² с боссами, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… босс выполняСт ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ дСйствия ΠΎΠ΄Π½ΠΎ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° стандартного ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ дСйствий нСпростой. Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ Ρ†ΠΈΠΊΠ»:

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ катсцСну: ΠΈΠ³Ρ€ΠΎΠΊ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ NPC, NPC Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚:Β«You did it!Β», Π° Π·Π°Ρ‚Π΅ΠΌ послС ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΉ ΠΏΠ°ΡƒΠ·Ρ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚:Β«Thank you!Β». Π’ идСальном ΠΌΠΈΡ€Π΅, ΠΌΡ‹ Π±Ρ‹ написали это Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

И Π²ΠΎΡ‚ Ρ‚ΡƒΡ‚ ΠΌΡ‹ ΠΈ встрСчаСмся с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ дСйствий Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя. НСкоторыС дСйствия ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π°ΠΆΠ΅ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ Π²Π²ΠΎΠ΄Π° ΠΎΡ‚ ΠΈΠ³Ρ€ΠΎΠΊΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³Π°). ВмСсто Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ delay нСльзя Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ sleep β€” это Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ, Π±ΡƒΠ΄Ρ‚ΠΎ ΠΈΠ³Ρ€Π° зависла.

Π”Π°Π²Π°ΠΉΡ‚Π΅ взглянСм Π½Π° нСсколько ΠΏΠΎΡ…ΠΎΠ΄ΠΎΠ² ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

bool, enum, ΠΌΠ°ΡˆΠΈΠ½Ρ‹ состояний

Π‘Π°ΠΌΡ‹ΠΉ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ способ для ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ дСйствий β€” это Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ состоянии Π² bool’Π°Ρ…, строках ΠΈΠ»ΠΈ enum’Π°Ρ…. Код ΠΏΡ€ΠΈ этом Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ спагСтти-ΠΊΠΎΠ΄Ρƒ ΠΈ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°ΠΌ if-else Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ я Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ способ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

Action list

Π’ катсцСнС, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия: GoToAction, DialogueAction ΠΈ DelayAction.

Для Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² я Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ middleclass для ООП Π² Lua.

Π’ΠΎΡ‚, ΠΊΠ°ΠΊ имплСмСнтируСтся DelayAction :

Ѐункция ActionList:update выглядит Ρ‚Π°ΠΊ:

И Π½Π°ΠΊΠΎΠ½Π΅Ρ†, имплСмСнтация самой катсцСны:

Π‘ΠΎΠ²Π΅Ρ‚ΡƒΡŽ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΡŽ Π¨ΠΎΠ½Π° ΠœΠΈΠ΄Π΄Π»Π΄ΠΈΡ‚Ρ‡Π° (Sean Middleditch) ΠΏΡ€ΠΎ action list’Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ приводятся Π±ΠΎΠ»Π΅Π΅ слоТныС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹.

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

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠΈΠΌΡƒΠ»ΡΡ†ΠΈΡŽ if/else, Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Π΅ списки. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ тэгов. НСкоторыС дСйствия ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠ΅Ρ‡Π°Ρ‚ΡŒΡΡ тэгами, ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ вмСсто ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ, ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ тэг. Π­Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΎΠ΄Π½Π°ΠΊΠΎ это Π½Π΅ Ρ‚Π°ΠΊ Π»Π΅Π³ΠΊΠΎ читаСтся ΠΈ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ, ΠΊΠ°ΠΊ функция Π²Ρ‹ΡˆΠ΅.

ΠšΠΎΡ€ΡƒΡ‚ΠΈΠ½Ρ‹ Lua Π΄Π΅Π»Π°ΡŽΡ‚ этот ΠΊΠΎΠ΄ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ.

ΠšΠΎΡ€ΡƒΡ‚ΠΈΠ½Ρ‹

ΠžΡΠ½ΠΎΠ²Ρ‹ ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½ Π² Lua

ΠšΠΎΡ€ΡƒΡ‚ΠΈΠ½Π° β€” это функция, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π° ΠΏΠ°ΡƒΠ·Ρƒ ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ·ΠΆΠ΅ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Ρ‘ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. ΠšΠΎΡ€ΡƒΡ‚ΠΈΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠ΅, ΠΊΠ°ΠΊ ΠΈ основная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. НовыС ΠΏΠΎΡ‚ΠΎΠΊΠΈ для ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½ Π½Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π½ΠΈΠΊΠΎΠ³Π΄Π°.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ катсцСн с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½

Π’ΠΎΡ‚, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс Action Π² Π½ΠΎΠ²ΠΎΠΉ систСмС:

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° action list’Ρ‹: функция update дСйствия вызываСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° дСйствиС Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΠΎΡΡŒ. Но здСсь ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½Ρ‹ ΠΈ Π΄Π΅Π»Π°Π΅ΠΌ yield Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° ( Action:launch вызываСтся ΠΈΠ· ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½Ρ‹). Π“Π΄Π΅-Ρ‚ΠΎ Π² update ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° ΠΌΡ‹ возобновляСм Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ катсцСны Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

И Π½Π°ΠΊΠΎΠ½Π΅Ρ†, созданиС катсцСны:

Π’ΠΎΡ‚, ΠΊΠ°ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° функция delay :

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΈΡ… Π²Ρ€Π°ΠΏΠΏΠ΅Ρ€ΠΎΠ² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° катсцСн. DelayAction Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

Π­Ρ‚Π° рСализация ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Π° Ρ‚ΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ использовали Π² action list’Π°Ρ…! Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ снова взглянСм Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Action:launch :

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ посмотрим Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ goTo :

ΠšΠΎΡ€ΡƒΡ‚ΠΈΠ½Ρ‹ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‚ΡΡ с событиями (event’Π°ΠΌΠΈ). Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ класс WaitForEventAction :

ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΈ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎ. Когда Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ закрываСтся, ΠΎΠ½ΠΎ посылаСт событиС с Ρ‚ΠΈΠΏΠΎΠΌ ‘DialogueWindowClosed`. ДСйствиС Β«sayΒ» Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ΠΈ своё Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π·Π° Π½ΠΈΠΌ.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Π΅ катсцСны ΠΈ Π΄Π΅Ρ€Π΅Π²ΡŒΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²:

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π§ΡƒΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТныС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Ρ‹ ΠΈ нСбольшиС квСсты. НапримСр:

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ΠšΠΎΡ€ΡƒΡ‚ΠΈΠ½Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для AI. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ монстр Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Ρ‚Ρ€Π°Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ:

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Когда монстр ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ ΠΈΠ³Ρ€ΠΎΠΊΠ°, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ просто ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½Ρƒ ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΅Ρ‘. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ бСсконСчный Ρ†ΠΈΠΊΠ» ( while true ) Π²Π½ΡƒΡ‚Ρ€ΠΈ followPath Π½Π° самом Π΄Π΅Π»Π΅ Π½Π΅ являСтся бСсконСчным.

Π•Ρ‰Ρ‘ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Β«ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅Β» дСйствия. ΠšΠ°Ρ‚ΡΡ†Π΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘Ρ‚ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠ±ΠΎΠΈΡ… дСйствий. НапримСр, сдСлаСм катсцСну, Π³Π΄Π΅ Π΄Π΅Π²ΠΎΡ‡ΠΊΠ° ΠΈ ΠΊΠΎΡ‚ ΠΈΠ΄ΡƒΡ‚ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Ρ‚ΠΎΡ‡ΠΊΠ΅ Π΄Ρ€ΡƒΠ³Ρƒ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ скоростями. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ приходят ΠΊ Π½Π΅ΠΉ, ΠΊΠΎΡ‚ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Β«meowΒ».

МоТно ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ этот класс Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ, Ссли ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ N-Π½ΠΎΠ³ΠΎ количСства дСйствий.

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

Достоинства ΠΈ нСдостатки ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½

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

И всё это выполняСтся Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅, поэтому Π½Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с синхронизациСй ΠΈΠ»ΠΈ состояниСм Π³ΠΎΠ½ΠΊΠΈ (race condition).

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

(ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ PlutoLibrary ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π½ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Lua 5.1)

Π­Ρ‚Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ с катсцСнами, Ρ‚.ΠΊ. ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π² ΠΈΠ³Ρ€Π°Ρ… ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒΡΡ Π² сСрСдинС катсцСны Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, Ссли Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° нСбольшиС куски. Допустим, ΠΈΠ³Ρ€ΠΎΠΊ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠ΅Ρ€Π²ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Π° ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ΄Ρ‚ΠΈ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π». Π’ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚ ΠΈΠ»ΠΈ Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠΊΡƒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ. Π’ сохранСнии ΠΌΡ‹ запишСм Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ Β«ΠΈΠ³Ρ€ΠΎΠΊ ΠΏΡ€ΠΎΡˆΡ‘Π» Ρ‡Π°ΡΡ‚ΡŒ 1 Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Π°Β». Π”Π°Π»Π΅Π΅, ΠΈΠ³Ρ€ΠΎΠΊ ΠΏΡ€ΠΎΠΉΠ΄Ρ‘Ρ‚ Π²Ρ‚ΠΎΡ€ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Π°, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ ΡƒΠΆΠ΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½Ρƒ. И Ρ‚Π°ΠΊ далСС… ΠŸΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅, ΠΌΡ‹ просто Π½Π°Ρ‡Π½Ρ‘ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½Ρ‹, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ части, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈΠ³Ρ€ΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ.

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

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ Π² ООП (Java), ΠΏΠΎ-простому?

ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅ ΠΏΠΎ-простому, Π½Π° ΠΏΠ°Π»ΡŒΡ†Π°Ρ…, Π·Π°Ρ‡Π΅ΠΌ ΠΈ для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½Ρ‹ интСрфСйсы (Java)? ВсС эти Π·Π°ΡƒΠΌΠ½Ρ‹Π΅ ΠΊΠ½ΠΈΠΆΠ½Ρ‹Π΅ опрСдСлСния ΠΈ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠΈ, ясности совсСм Π½Π΅ ΠΏΡ€ΠΈΠ±Π°Π²Π»ΡΡŽΡ‚.

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

16 ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² 16

ΠžΠ±Ρ‰Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ β€” это ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΡ€Π°Π²ΠΈΠ» взаимодСйствия элСмСнтов систСмы. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, интСрфСйс опрСдСляСт ΠΊΠ°ΠΊ элСмСнты Π±ΡƒΠ΄ΡƒΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ собой.

Когда Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ эти «ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹», Π²Ρ‹ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ смоТСтС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Благодаря Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с ΠΈΡ… интСрфСйсом.

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

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ вас Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹:

Π° сСйчас посмотрим, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ:

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΡ‹ ΠΈΡ… ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ, Π½ΠΎ ΡΡƒΡ‚ΡŒ кроСтся Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π’Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ странным, Π½ΠΎ это ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΎΡ‚ ΠΆΠΈΠ²ΠΎΡ‚Π½ΠΎΠ³ΠΎ β€” использованиС интСрфСйсов вмСсто классов. Π’Ρ‹ навСрняка ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ классичСский ΠΎΠΏΡ‹Ρ‚ с обСзьяной, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΡ€ΠΈΡƒΡ‡ΠΈΠ»ΠΈ Π³Π°ΡΠΈΡ‚ΡŒ огонь Π²ΠΎΠ΄ΠΎΠΉ ΠΈΠ· Π²Π΅Π΄Ρ‘Ρ€ΠΊΠ°; Π° ΠΏΠΎΡ‚ΠΎΠΌ поставили Π²Π΅Π΄Ρ‘Ρ€ΠΊΠΎ Π½Π° ΠΏΠ»ΠΎΡ‚ посрСди бассСйна, Π½ΠΎ обСзьяна всё Ρ€Π°Π²Π½ΠΎ Π±Π΅Π³Π°Π»Π° ΠΏΠΎ мостику Π½Π° ΠΏΠ»ΠΎΡ‚ ΠΈ Ρ‡Π΅Ρ€ΠΏΠ°Π»Π° Π²ΠΎΠ΄Ρƒ ΠΈΠ· Π²Π΅Π΄Ρ‘Ρ€ΠΊΠ°, вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡Π΅Ρ€ΠΏΠ°Ρ‚ΡŒ Π²ΠΎΠ΄Ρƒ прямо ΠΈΠ· бассСйна. Π’ΠΎ Π΅ΡΡ‚ΡŒ обСзьянка использовала класс Π’ΠΎΠ΄Π°-Π²-Π’Π΅Π΄Ρ‘Ρ€ΠΊΠ΅ вмСсто интСрфСйса Π’ΠΎΠ΄Π° (ΠΈ Π΄Π°ΠΆΠ΅ большС, скаТу ΠΏΠΎ сСкрСту: вмСсто интСрфСйса БрСдство-для-Π’ΡƒΡˆΠ΅Π½ΠΈΡ).

Когда ΠΌΡ‹ мыслим классами β€” уподобляСмся ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹ΠΌ. Π›ΡŽΠ΄ΠΈ мыслят (ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚) интСрфСйсами.

По простому Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅? Ну ΠΎΠΊ, ΠΏΡ€Π°Π²Π΄Π° сСйчас Ρ‚ΡƒΡ‚ Π½Π°Ρ‡Π½ΡƒΡ‚ ΠΏΠ»Π΅Π²Π°Ρ‚ΡŒΡΡ всякиС Ρ‚ΠΎΠ²Π°Ρ€ΠΈΡ‰ΠΈ Ρ‚ΠΈΠΏΠΎ Π³ΡƒΡ€Ρƒ πŸ™‚

ПониманиС интСрфСйсов ΠΏΡ€ΠΈΠ΄Ρ‘Ρ‚ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ. Бколько Π½Π΅ Ρ‡ΠΈΡ‚Π°ΠΉ, сколько Π½Π΅ объясняй, Π’Ρ‹ Π‘Π°ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ‚Ρƒ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, Ρ‚ΠΎΡ‚ ΠΌΠ°ΡΡˆΡ‚Π°Π± дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ программисту. ΠŸΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов Java прСдоставляСт интСрфСйсы для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΈΡ… ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π’Π°ΠΌ ΡƒΠ»ΠΎΠ²ΠΈΡ‚ΡŒ всю ΠΌΠΎΡ‰ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ прСдоставляСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с использованиСм интСрфСйсов.

НС Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ ΠΈ возьмСм для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π΄Π²Π΅Ρ€ΡŒ.

Π§Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с Π΄Π²Π΅Ρ€ΡŒΡŽ? ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ.

БоотвСтствСнно интСрфСйс для Π½Π΅Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ:

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ слСдитС Π·Π° Ρ€ΡƒΠΊΠ°ΠΌΠΈ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· Π΄Π²Π΅Ρ€ΡŒ. Π’Π°ΠΆΠ½ΠΎ Π΅ΠΌΡƒ какая Π΄Π²Π΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌ Π΄Π²Π΅Ρ€ΡŒ, дСрСвянная, ТСлСзная, с окошком, открываСтся ΠΎΠ½Π° Π½Π° сСбя ΠΈΠ»ΠΈ ΠΎΡ‚ сСбя, Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠΎΠ±Ρ‰Π΅ сдвигаСтся Π² Π±ΠΎΠΊ? НСт, Π½Π΅ Π²Π°ΠΆΠ½ΠΎ. Π•ΠΌΡƒ Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π΅ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ.

По этому, Π² классС «Π§Π΅Π»ΠΎΠ²Π΅ΠΊ» ΠΌΡ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ «ΠŸΡ€ΠΎΠΉΡ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· Π΄Π²Π΅Ρ€ΡŒ» Π½Π΅ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π΄Π²Π΅Ρ€ΡŒ, Π° Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ «Π”Π²Π΅Ρ€ΡŒ», ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ Π½Π΅Π΅ Π΅ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ «ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ».

БоотвСтствСнно Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄Π²ΡƒΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ интСрфСйс «Π”Π²Π΅Ρ€ΡŒ» ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ «Π§Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ» Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ «ΠŸΡ€ΠΎΠΉΡ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· Π΄Π²Π΅Ρ€ΡŒ», Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ для ΠΌΠ΅Ρ‚ΠΎΠ»Π° «ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ».

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΠΎΠΌ** ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΡ‹ Π½Π°Π·ΠΎΠ²Ρ‘ΠΌ Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ Π½Π°Π΄ Π½ΠΈΠΌ. НапримСр, интСрфСйс числа 3 называСтся, собствСнно, «Число» ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ слоТСния, вычитания, умноТСния ΠΈ дСлСния. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот интСрфСйс ΠΌΠΎΠΆΠ΅Ρ‚ любоС количСство Ρ‚ΠΈΠΏΠΎΠ²/классов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΠΈΠΏΡ‹ ЦСлоСЧисло, ВСщСствСнноСЧисло, КомплСксноСЧисло, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Π°ΠΊΠΈΠ΅ Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΊΠ°ΠΊ Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π» ΠΈΠ»ΠΈ Полином. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя, ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΈΠΏ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ интСрфСйс. Π’Π°ΠΊ, ЦСлоСЧисло ΠΊΡ€ΠΎΠΌΠ΅ интСрфСйса Число ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ интСрфСйс ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌΡ‹ΠΉ – для этого Π² классС ЦСлоСЧисло Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ всСго лишь Π΄ΠΎΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Β«ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉΒ» ΠΈ Β«ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉΒ».

Объясню Π±Π΅Π· Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ.

Допустим, ΠΌΡ‹ создали Framework, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт, ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΠ» Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ double-click ΠΏΠΎ экрану.

Но ΠΌΡ‹ Ρ€Π΅ΡˆΠ°Π΅ΠΌ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ сами, Π° ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ эту Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ программисту, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅ΠΌΡƒ наш Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ. ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ этой Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ интСрфСйсов.

Π€ΡƒΠ½ΠΊΡ†ΠΈΡŽ: Ρ‡Ρ‚ΠΎ_Π΄Π΅Π»Π°Ρ‚ΡŒ_Ссли_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ_ΠΊΠ»ΠΈΠΊΠ½ΡƒΠ»_2_Ρ€Π°Π·Π°_ΠΏΠΎ_экрану() засовываСм Π² интСрфСйс.

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

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

1) ВзаимодСйствиС с ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΠΌ ΠΌΠΈΡ€ΠΎΠΌ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΈΡˆΠ΅Ρ‚ Π½Π΅ ΠΎΠ΄ΠΈΠ½ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΎΠ½ΠΈ состоят Π½Π΅ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса ΠΈ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π½Π΅ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈ модуля. И ΡΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹Ρ… Π°Π²Ρ‚ΠΎΡ€ΠΎΠ², Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ взаимодСйствуСт ΠΌΠ΅ΠΆΠ΄Ρƒ собой. Π‘Π°ΠΌΡ‹ΠΉ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ сторонними Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ. Π’Ρ‹ нашли Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π²Π°ΠΌ класс, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, которая Π΅Π³ΠΎ содСрТит ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Π’ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π°Π²Ρ‚ΠΎΡ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ€Π΅ΡˆΠΈΠ» ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ свой ΠΊΠΎΠ΄, Ρ€Π°Π·Π²Π΅ это Ρ€Π΅Π΄ΠΊΠΎΡΡ‚ΡŒ? Π˜ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ выявлСнныС Π±Π°Π³ΠΈ, ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ, Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π». И это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ для вас Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΉ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΡΡ‚ΡŒΡŽ: ваш-Ρ‚ΠΎ ΠΊΠΎΠ΄ завязан Π½Π° Π΅Π³ΠΎ ΠΊΠΎΠ΄! И ваш ΠΊΠΎΠ΄ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ломаСтся.

2) Π’ Java Π² качСствС ссылки Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ интСрфСйс. НапримСр, умСстСн ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄:

Π’ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ интСрфСйс Iterable. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π² этом случаС ΠΌΡ‹ Ρƒ Π½Π΅Π³ΠΎ смоТСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΡΡ‚ΡŒ Π² интСрфСйсС. Но ΠΈΠ½ΠΎΠ³Π΄Π° этого Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ достаточно!

3) Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ½Π²Π΅Ρ€ΡΠΈΡŽ зависимостСй. Если Π²Ρ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ Π² ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π²ΡƒΡ… ΠΏΡƒΠ½ΠΊΡ‚Π°Ρ…, Π½ΠΎ Π½Π΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ Π² этом β€” Ρƒ вас всС Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΠ»Π³ΠΎΠ΄Π°.

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ имплСмСнтация: Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²ΠΈΠ΄Ρ‹ ΠΈ сфСры примСнСния

ЗдравствуйтС, ΡƒΠ²Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ Π±Π»ΠΎΠ³Π° KtoNaNovenkogo.ru. Π’ XXI Π²Π΅ΠΊΠ΅ ΡƒΡ‡Ρ‘Π½Ρ‹Π΅ стали Ρ‡Π°Ρ‰Π΅ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Ρ‚ΡŒ Π² своих Ρ€Π°Π±ΠΎΡ‚Π°Ρ… Ρ‚Π΅ΠΌΡ‹, связанныС с Π³Π»ΠΎΠ±Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ (это ΠΊΠ°ΠΊ?).

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

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π§Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ этот слоТный Ρ‚Π΅Ρ€ΠΌΠΈΠ½? Как ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΎ соотносится с внутригосударствСнным? И ΠΊΠ°ΠΊ сами государства относятся ΠΊ процСссу сблиТСния? ΠžΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° эти вопросы Π²Ρ‹ Π½Π°ΠΉΠ΄Ρ‘Ρ‚Π΅ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅.

АнглийскоС слово implementation ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ пСрСводится ООН (Ρ‡Ρ‚ΠΎ это Π·Π° организация?) ΠΊΠ°ΠΊ «осущСствлСниС». Π’ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΠ» ΠšΠΎΠΌΠΈΡ‚Π΅Ρ‚ ΠΏΠΎ ΠΏΡ€Π°Π²Π°ΠΌ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Π² 1981 Π³ΠΎΠ΄Ρƒ.

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ слова Β«ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ» – ΠΏΡ€Π΅Ρ‚Π²ΠΎΡ€ΡΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ Π² Тизнь.

НапримСр, идСю, ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.

БСйчас Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Π² основном примСняСтся Π² Π΄Π²ΡƒΡ… сфСрах:

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΡ€Π°Π²Π°, имплСмСнтация – это рСализация Π½Π° внутригосударствСнном ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π², Π·Π°ΠΊΡ€Π΅ΠΏΠ»Ρ‘Π½Π½Ρ‹Ρ… Π² ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… ΡΠΎΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡΡ….

НапримСр, Π³Π»Π°Π²Ρ‹ Π΄Π²ΡƒΡ… государств ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΠΊΠΎΠ½Π²Π΅Π½Ρ†ΠΈΡŽ (Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅?) ΠΎ ΠΏΡ€Π°Π²ΠΎΠ²ΠΎΠΉ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠΎ ΡƒΠ³ΠΎΠ»ΠΎΠ²Π½Ρ‹ΠΌ Π΄Π΅Π»Π°ΠΌ.

А Π² дальнСйшСм стороны ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги:

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π£Ρ‡Ρ‘Π½Ρ‹Π΅-ΠΏΡ€Π°Π²ΠΎΠ²Π΅Π΄Ρ‹ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Π² ΡƒΠ·ΠΊΠΎΠΌ ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ.

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

А имплСмСнтация Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ – Ρ‡Ρ‚ΠΎ это? Если Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ простыми словами, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² исходном ΠΊΠΎΠ΄Π΅.

По сути, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ – это Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π² ПО ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π».

Π’ΠΈΠ΄Ρ‹ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π² ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡ€Π°Π²Π΅

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-источников Π²Ρ‹ Π½Π°ΠΉΠ΄Ρ‘Ρ‚Π΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ ΠΎΠ± ΠΈΠ½ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ, трансформации ΠΈ отсылкС. Однако ΠΏΡ€Π°Π²ΠΎΠ²Π΅Π΄Ρ‹ Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

Π’ общСпринятой классификации ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅ΠΌ слуТит способ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ государством ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π².

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡΠ§Ρ‚ΠΎ это простыми словами
Π˜Π½ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΡΠ”ΠΎΡΠ»ΠΎΠ²Π½ΠΎΠ΅ воспроизвСдСниС тСкста ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎ-ΠΏΡ€Π°Π²ΠΎΠ²ΠΎΠΉ Π½ΠΎΡ€ΠΌΡ‹ Π² Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ Π½ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΠΎΠΌ ΠΏΡ€Π°Π²ΠΎΠ²ΠΎΠΌ Π°ΠΊΡ‚Π΅.
Π’Ρ€Π°Π½ΡΡ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡΠŸΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎ-ΠΏΡ€Π°Π²ΠΎΠ²ΠΎΠΉ Π½ΠΎΡ€ΠΌΡ‹ с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ мСстных Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΉ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π΅Ρ‘ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π°ΠΊΠΎΠ½ΠΎΠ΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Врансформация ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ примСняСтся Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° трСбуСтся сблиТСниС рСгулирования Π² странах, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… ΠΊ Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΎΠ²Ρ‹ΠΌ сСмьям (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°Π½Π³Π»ΠΎ-саксонской ΠΈ Ρ€ΠΎΠΌΠ°Π½ΠΎ-гСрманской).
ΠžΡ‚ΡΡ‹Π»ΠΊΠ°ΠŸΡ€ΡΠΌΠΎΠ΅ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π² тСкстС Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π½ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²ΠΎΠ²ΠΎΠ³ΠΎ Π°ΠΊΡ‚Π° Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ для рСгулирования ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ вопроса примСняСтся ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠ΅ соглашСниС.
РСцСпцияЗаимствованиС нормотворчСскими ΠΎΡ€Π³Π°Π½Π°ΠΌΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΏΡ‹Ρ‚Π° Π·Π°Ρ€ΡƒΠ±Π΅ΠΆΠ½Ρ‹Ρ… стран со схоТими ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ-экономичСскими условиями.
УнификацияБотрудничСство государств Π² цСлях создания Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ ΠΏΡ€Π°Π²ΠΎΠ²ΠΎΠΌΡƒ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ряда вопросов. Π§Π°Ρ‰Π΅ всСго унификация примСняСтся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… сфСрах: ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠΉ Ρ‚ΠΎΡ€Π³ΠΎΠ²Π»ΠΈ, ΡƒΠ³ΠΎΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²Π°, экологичСской бСзопасности.

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

НСкоторыС ΡƒΡ‡Ρ‘Π½Ρ‹Π΅ (Π² частности, Π’.А.Π’Π΄ΠΎΠ²ΠΈΠ½) дСлят ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ Π½Π° ΠΎΠ±Ρ‰ΡƒΡŽ ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ.

ΠžΠ±Ρ‰Π°Ρ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ лишь ΠΊΠΎΠ½ΡΡ‚Π°Ρ‚Π°Ρ†ΠΈΡŽ Ρ„Π°ΠΊΡ‚Π° примСнСния Π½Π°Π΄Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π°ΠΊΡ‚ΠΎΠ² для рСгулирования ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ государства.

Π’Π°ΠΊ, Π² Ρ‡. 4 ст. 15 ΠšΠΎΠ½ΡΡ‚ΠΈΡ‚ΡƒΡ†ΠΈΠΈ записано, Ρ‡Ρ‚ΠΎ составной Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΏΡ€Π°Π²ΠΎΠ²ΠΎΠΉ систСмы Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ ΠΎΠ±Ρ‰Π΅ΠΏΡ€ΠΈΠ·Π½Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈ Π½ΠΎΡ€ΠΌΡ‹ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Π΅ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Ρ‹ Π Π€.

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ имплСмСнтация – это ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π°ΠΊΠΎΠ½ΠΎΠ΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°. Π’ Ρ‚ΠΎΠΌ числС ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Π½ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΎΠ²Ρ‹Ρ… Π°ΠΊΡ‚ΠΎΠ² ΠΈ ΠΎΡ‚ΠΌΠ΅Π½Π° Ρ‚Π΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡Π°Ρ‚ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎ-ΠΏΡ€Π°Π²ΠΎΠ²Ρ‹ΠΌ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°ΠΌ государства.

КакоС ΠΏΡ€Π°Π²ΠΎ Π²Π°ΠΆΠ½Π΅Π΅: ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠ΅ ΠΈΠ»ΠΈ Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅

ΠžΡ‚Π²Π΅Ρ‚ Π½Π° этот вопрос зависит ΠΎΡ‚ ΠΏΡ€Π°Π²ΠΎΠ²Ρ‹Ρ… Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ страны. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€Π°Π²ΠΎΠ²Π΅Π΄ΠΎΠ² ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ процСссы Π³Π»ΠΎΠ±Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ усилятся.

На ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ»Π°Π½ Π²Ρ‹ΠΉΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ совмСстных усилий:

Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ΠΏΡ€Π΅Π²Π°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… Π½ΠΎΡ€ΠΌ ΠΏΡ€Π°Π²Π° Π½Π°Π΄ Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ. Π£ΠΆΠ΅ сСйчас ΠΌΠ½ΠΎΠ³ΠΈΠ΅ страны Π·Π°ΠΊΡ€Π΅ΠΏΠΈΠ»ΠΈ Π² основных Π·Π°ΠΊΠΎΠ½Π°Ρ… ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎ Ρ‚Π°ΠΊΠΎΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π΅ (это ΠΊΠ°ΠΊ?).

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Богласно ΠšΠΎΠ½ΡΡ‚ΠΈΡ‚ΡƒΡ†ΠΈΠΈ Π Π€, Π² случаС противорСчия Π·Π°ΠΊΠΎΠ½Π° ΠΈ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ полоТСния послСднСго. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡŽΡ€ΠΈΡΡ‚Ρ‹ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ ΠΎ ΠΏΡ€ΠΈΠΌΠ°Ρ‚Π΅ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²Π° Π½Π°Π΄ Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ.

Однако Π² июлС 2015 Π³ΠΎΠ΄Π° ΠšΠΎΠ½ΡΡ‚ΠΈΡ‚ΡƒΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Π‘ΡƒΠ΄ Π Π€ ΠΈΠ·Π»ΠΎΠΆΠΈΠ» Π² своём постановлСнии ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ зрСния. Он написал, Ρ‡Ρ‚ΠΎ государство Π² порядкС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²ΠΏΡ€Π°Π²Π΅ ΠΎΡ‚ΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΎΡ‚ исполнСния Π²ΠΎΠ·Π»Π°Π³Π°Π΅ΠΌΡ‹Ρ… Π½Π° Π½Π΅Π³ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π², Ссли Ρ‚Π°ΠΊΠΎΠ΅ отступлСниС являСтся СдинствСнно Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ΠΈ Π½ΠΎΡ€ΠΌ ΠšΠΎΠ½ΡΡ‚ΠΈΡ‚ΡƒΡ†ΠΈΠΈ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

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

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

Автор ΡΡ‚Π°Ρ‚ΡŒΠΈ: БСлоусова ΠΠ°Ρ‚Π°Π»ΡŒΡ

Π£Π΄Π°Ρ‡ΠΈ Π²Π°ΠΌ! Π”ΠΎ скорых встрСч Π½Π° страницах Π±Π»ΠΎΠ³Π° KtoNaNovenkogo.ru

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ относится ΠΊ Ρ€ΡƒΠ±Ρ€ΠΈΠΊΠ°ΠΌ:

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‹ (1)

О Π±ΠΎΠ³ΠΈ, ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ замысловатых слов Π½Π΅ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°ΡŽΡ‚. НСуТСли нСльзя ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΏΠΎΠΏΡ€ΠΎΡ‰Π΅ всё Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ. А это слово Π΅Ρ‰Ρ‘ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ Π²Ρ‹Π³ΠΎΠ²ΠΎΡ€ΠΈ.

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

НазваниС ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π― Ρ…ΠΎΡ‚Π΅Π» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ этот пост Π΅Ρ‰Ρ‘ Π² июлС, Π½ΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΌΠΎΠ³, ΠΎ ирония, Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ. Π£Π΄Π°Ρ‡Π½Ρ‹Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΌΠ½Π΅ Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Π΄ΠΎΠΊΠ»Π°Π΄Π° ΠšΠ΅ΠΉΡ‚ Π“Ρ€Π΅Π³ΠΎΡ€ΠΈ Π½Π° CppCon, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ я Π½Π°ΠΊΠΎΠ½Π΅Ρ† ΠΌΠΎΠ³Ρƒ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π°ΠΌ, ΠΊΠ°ΠΊ Π½Π΅ Π½Π°Π΄ΠΎ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: std::log2p1()

Π’ΠΎ Π΅ΡΡ‚ΡŒ для любого Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ числа функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌ плюс 1, Π° для 0 Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 0. И это Π½Π΅ школьная Π·Π°Π΄Π°Ρ‡ΠΊΠ° Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ if/else, это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ полСзная Π²Π΅Ρ‰ΡŒ β€” минимальноС число Π±ΠΈΡ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ помСстится Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ΠΎΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ ΠΎΠ± этом ΠΏΠΎ названию Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: std::bless()

БСйчас Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ ΠΏΡ€ΠΎ названия

НСбольшоС отступлСниС: Π² Π‘++ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠ° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с указатСлями Π½Π° элСмСнты массива. Π§Ρ‚ΠΎ, Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ: Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС Π½Π°Π±ΠΎΡ€ сосСдних ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² нСизвСстСн ΠΈ β€œΠ² дСсяти Π±Π°ΠΉΡ‚Π°Ρ… справа ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ i ” ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Π­Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.

Но Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°. НапримСр, Π²ΠΎΡ‚ Ρ‚Π°ΠΊΡƒΡŽ ΡƒΠΏΡ€ΠΎΡ‰Ρ‘Π½Π½ΡƒΡŽ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ std::vector ::reserve() :

ΠœΡ‹ Π²Ρ‹Π΄Π΅Π»ΠΈΠ»ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ, пСрСнСсли всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ пытаСмся ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΊΡƒΠ΄Π° Π½Π°Π΄ΠΎ. Π’ΠΎΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послСдниС Ρ‚Ρ€ΠΈ строчки Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ содСрТат арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ указатСлями Π²Π½Π΅ массива!

РазумССтся, Π²ΠΈΠ½ΠΎΠ²Π°Ρ‚ Ρ‚ΡƒΡ‚ Π½Π΅ программист. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² самом стандартС C++, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ этот ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹ΠΉ кусок ΠΊΠΎΠ΄Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ P0593 ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ стандарт, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ функциям (Π²Ρ€ΠΎΠ΄Π΅ ::operator new ΠΈ std::malloc ) ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ массивы ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости. ВсС созданныС ΠΈΠΌΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ магичСским ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ указатСлями Π½Π° массивы, ΠΈ с Π½ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

Всё Π΅Ρ‰Ρ‘ Π½Π΅ ΠΏΡ€ΠΎ названия, ΠΏΠΎΡ‚Π΅Ρ€ΠΏΠΈΡ‚Π΅ сСкундочку.

НазваниС std::bless Π±Ρ‹Π»ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ.

МнС эти Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Π½Π΅ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»ΠΈΡΡŒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3: std::partial_sort_copy()

ΠšΠ΅ΠΉΡ‚ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ std::partial_sort_copy β€” Ρ‚Π°ΠΊ сСбС Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΠΈ я с Π½Π΅ΠΉ согласСн.

НазваниС ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

Ни ΠΎΠ΄Π½ΠΎ ΠΈΠ· пСрСчислСнных Π½Π°Π·Π²Π°Π½ΠΈΠΉ Π½Π΅ являСтся, строго говоря, Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΌ: ΠΎΠ½ΠΈ всС прСкрасно ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ функция. std::log2p1() Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ считаСт Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌ ΠΈ прибавляСт ΠΊ Π½Π΅ΠΌΡƒ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ; implicitly_create_objects() ΠΈΠΌΠΏΠ»ΠΈΡ†ΠΈΡ‚Π½ΠΎ создаёт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π° std::partial_sort_copy() частично сортируСт ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, всС эти названия ΠΌΠ½Π΅ Π½Π΅ нравятся, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ бСсполСзны.

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ Π½ΠΈΠΊΠΎΠΌΡƒ Π½Π΅ Π½Π°Π΄ΠΎ β€œΠΈΠΌΠΏΠ»ΠΈΡ†ΠΈΡ‚Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹β€ ΠΈΠ»ΠΈ β€œΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΠΈΡ‡Π½ΡƒΡŽ сортировку ΠΊΠΎΠΏΠΈΠΈ вСктора” β€” ΠΈΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ 5 Π½Π°ΠΈΠ±ΠΎΠ»ΡŒΡˆΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² порядкС убывания. Π§Ρ‚ΠΎ-Ρ‚ΠΎ Ρ‚ΠΈΠΏΠ° recycle_storage() (Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠΆΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π»ΠΈ Π² качСствС названия std::bless ) ΠΈ top_n_sorted() Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π³ΠΎΡ€Π°Π·Π΄ΠΎ понятнСС.

ΠΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π½Π° основании Π΅Ρ‘ спСцификации β€” Π·Π½Π°Ρ‡ΠΈΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π° Ρ€ΠΎΠ²Π½ΠΎΠΌ мСстС Π½Π΅ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ Π΅Ρ‘ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. ВсСгда Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΊΠ°ΠΊ функция Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 4: std::popcount()

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, std::popcount() идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ€Π½ΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ popcount. Π­Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ β€” это ΠΏΠΎΠ»Π½ΠΎΠ΅ Π΅Ρ‘ описаниС.

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

ΠšΡΡ‚Π°Ρ‚ΠΈ, Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ вопрос: ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Ρ‚ΡŒ Π»ΠΈ названия, ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², ΠΈΠ»ΠΈ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Π΅ для ΠΎΠ»Π΄Ρ„Π°Π³ΠΎΠ²?

Π₯эппи-энд?

РазумССтся, std::partial_sort_copy() ΡƒΠΆΠ΅ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΡŽΡ‚ β€” ΠΏΠΎΠ΄ этим Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ½Π° вошла Π² стандарт Π΅Ρ‰Ρ‘ Π² 1998. Но хотя Π±Ρ‹ std::log2p1 исправили, ΠΈ Ρ‚ΠΎ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ.

ΠŸΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Ρ названия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π½ΡƒΠΆΠ½ΠΎ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΡ‚ΠΎ ΠΈΠΌΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Ρ‡Π΅Π³ΠΎ ΠΎΠ½ ΠΎΡ‚ Π½ΠΈΡ… Π·Π°Ρ…ΠΎΡ‡Π΅Ρ‚. Как Π²Ρ‹Ρ€Π°Π·ΠΈΠ»Π°ΡΡŒ ΠšΠ΅ΠΉΡ‚, ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ эмпатии.

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

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ связями «ΠžΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅», «Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ» ΠΈ «Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ация» Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов UML?

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ UML ΠΊΠ°ΡΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ этого вопроса я понимаю ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

β€” связь generalization Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ классами, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ класс (наслСдник) основываСтся Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ классС (Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅). Будя ΠΏΠΎ всСму, здСсь Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ класс ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ классом (Ρ‚.Π΅. ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ экзСмпляры).

β€” связь realization Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ класс Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, опрСдСляСмоС Π΄Ρ€ΡƒΠ³ΠΈΠΌ классом. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго здСсь Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ повСдСния, опрСдСляСмого интСрфСйсом ΠΈΠ»ΠΈ абстрактным классом.

β€” связь implementation β€” это ΠΏΠΎΠ΄Ρ‚ΠΈΠΏ связи realization. Будя ΠΏΠΎ всСму, Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ½Ρ†Π΅ связи β€” ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ класс, Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ β€” интСрфСйс (interface Π² Java, чисто Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ класс Π² C++).

Вопрос ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ: насколько Π²Π΅Ρ€Π½Π° моя Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ²ΠΊΠ° спСцификации?
Вопрос Π²Ρ‚ΠΎΡ€ΠΎΠΉ: ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ realization ΠΏΠΎΠ΄Ρ‚ΠΈΠΏΠΎΠΌ связи generalization?
Вопрос Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ: Ссли язык ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСствСнноС наслСдованиС (C++ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€) ΠΈ класс наслСдуСтся ΠΎΡ‚ Π΄Π²ΡƒΡ… ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… классов β€” какая Π² Ρ‚Π°ΠΊΠΎΠΌ случаС связь ΠΌΠ΅ΠΆΠ΄Ρƒ наслСдником ΠΈ супСрклассами?

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

Вопрос Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ: ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΈ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ случаС наслСдованиС ΠΎΡ‚ абстрактного класса ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ связь generalization, Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ случаС β€” realization.

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π’Ρ€Π°ΠΊΡ‚ΠΎΠ²ΠΊΠ° Π½Π΅ совсСм Π²Π΅Ρ€Π½Π°, я сСйчас ΠΈΠ·Π»ΠΎΠΆΡƒ своС ΠΌΠ½Π΅Π½ΠΈΠ΅, Π° ΡƒΠΆ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ наши взгляды Π·Π°Π΄Π°Ρ‡Π° Π½Π΅ ΠΈΠ· простых)) Основная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ понятий Π² UML ΠΈ ООП.

Π’ Ρ†Π΅Π»ΠΎΠΌ ΠΏΠΎ опрСдСлСниям: Π‘ΠΎ стороны ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ класса ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚: интСрфСйс (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ состоит ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², свойств ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… языковых ΡˆΡ‚ΡƒΠΊ) ΠΈ абстракция (это Π½Π΅ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ подразумСваСтся ΠΏΡ€ΠΈ взаимодСйствии с Π΅Π³ΠΎ интСрфСйсом).

Generalization. Когда Ρƒ классов совпадаСт ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, получаСтся ΠΌΠΎΠΆΠ½ΠΎ свСсти ΠΈΡ… интСрфСйсы ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠΌΡƒ β€” ΠΎΠ±ΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° обобщСния ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ сходство Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ аспСкта повСдСния ΠΈ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ сходство интСрфСйса.

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

Implementation. Π’ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ UML это ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π½Π΅ΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π° составныС части. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ этот Ρ‚Π΅Ρ€ΠΌΠΈΠ½ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ совсСм другоС…

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ сходство интСрфСйса Π² Generalization Π·Π²ΡƒΡ‡ΠΈΡ‚ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π° Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΡ‡Π΅Π½ΡŒ хочСтся Π² это Π²Π΅Ρ€ΠΈΡ‚ΡŒ. Но напрягаСт ΠΌΠΎΠΌΠ΅Π½Ρ‚, Ρ‡Ρ‚ΠΎ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π² классах-наслСдниках ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ Π±Ρ‹Π»ΠΎ Ρƒ родитСля, Π° Π² ΠΊΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΆΠ°ΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° (downcasting).

Implementation ΠΊΠ°ΠΊ дСкомпозиция ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π° ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΌΠ½Π΅ Ρ‚ΠΎΠΆΠ΅ нравится. Волько Π½Π΅ понял, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρƒ тСбя implementation Π² UML ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΠ΅Ρ‚ с implementation Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Если ΡΡƒΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ синтаксису, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Java ΠΈΠ»ΠΈ PHP, Ρ‚ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ класс Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ интСрфСйс, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово implement. Один класс Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ мноТСство интСрфСйсов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, IComparable, IMovable ΠΈ IDrawable). ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ класс β€” это объСдинСниС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса, интСрфСйс ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ состоит ΠΈΠ· совокупности всСх интСрфСйсов, ΠΈΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ResultingClassInterface = . Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС, Ссли Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ, рассматривая класс, ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ ΠΈ Π·Π°Ρ‚Π΅ΠΌ выдСляя ΠΈΠ· Π½Π΅Π³ΠΎ ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡ΠΈ с вынСсСниСм ΠΈΡ… Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс β€” это ΠΈ получится дСкомпозиция.
Π’ ΠΌΠ°Π½ΡƒΠ°Π»Π΅ IBM ΠΏΠΎ UML ΠΏΡ€ΠΎ связь implementation написано ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅: The implementation relationship specifies that the realizing classifier must conform to the contract that the provided interface specifies. Π­Ρ‚ΠΎ выполняСтся by design Π²ΠΎ всСх языках программирования, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… интСрфСйсы Π² Ρ‚Π°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² Java, PHP ΠΈΠ»ΠΈ C#.

Π’ Ρ‚ΠΎΠΌ ΠΆΠ΅ самом ΠΌΠ°Π½ΡƒΠ°Π»Π΅ ΠΏΡ€ΠΎ связь realization написано Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ: You can model the following situations using realization relationships:
A component is realized by a set of classifiers that provide its implementation. Π’ΠΎΡ‚ это ΡƒΠΆΠ΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ класс прСдоставляСт своим ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡŽ, ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽΡΡ ΠΈΠ· сСрвисов классов, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ½ находится Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ realization плюс Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅Π³ΠΎ собствСнныС ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. ΠŸΡ€ΠΈ этом Π½Π΅ гарантируСтся, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ класс Π±ΡƒΠ΄Π΅Ρ‚ Π½Π° 100 % ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ интСрфСйсы классов, Ρ‡ΡŒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΎΠ½ прСдставляСт. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ Π½Π°ΠΌ realization ΠΏΡ€ΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π·Π° счСт дСлСгирования ΠΈ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ вовсС Π±Π΅Π· наслСдования Π² этом случаС. ΠŸΡ€ΠΈ этом внСшний Π²ΠΈΠ΄ связи (пунктирная линия с пустым Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ Π½Π° ΠΊΠΎΠ½Ρ†Π΅) Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ отличаСтся ΠΎΡ‚ Π²ΠΈΠ΄Π° связи implementation ΠΈ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ связь generalization, Ρ‡Ρ‚ΠΎ мСня Π²Π²ΠΎΠ΄ΠΈΡ‚ Π² Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅. Π”Π΅Π»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΆΠ΅ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°Ρ… прСдставляСтся связью association (ΡΠΎΠ±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ для agregation ΠΈΠ»ΠΈ composition). Рискну ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ связь realization Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ вмСсто association ΠΏΡ€ΠΈ Π΄Π΅Π»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π’Π‘Π• ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса, входящСго Π² связь с ΠΎΠ΄Π½ΠΎΠΉ стороны (service provider), ΠΈΠΌΠ΅ΡŽΡ‚ своС ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… класса Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ сторонС связи (Ρ‚.Π΅. ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Π±ΠΈΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅).

Ну ΠΈ ΠΏΠΎΠΊΠ° Π½Π΅ ясСн для мСня вопрос, ΠΊΠ°ΠΊ слСдуСт ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ сущСствуСт мноТСство Ρ€Π°Π·Π½ΠΎΡˆΠ΅Ρ€ΡΡ‚Π½Ρ‹Ρ… ΠΏΠΎ своСму Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ классов + ΠΎΠ΄ΠΈΠ½ интСрфСйс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ· Π½ΠΈΡ… (Π½ΠΎ Π½Π΅ всС!) Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ рСализация эта Π² 99% случаСв Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Π°. ΠŸΠΈΡΠ°Ρ‚ΡŒ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· классов Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ β€” Π°Π΄. ΠžΡ‚Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ всС эти класса систСмы ΠΎΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класс MyObject implements IInterface, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ прСдставлСна рСализация интСрфСйса ΠΏΠΎ умолчания (Π°-ля C# ΠΈΠ»ΠΈ Java) β€” Π²Ρ€ΠΎΠ΄Π΅ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€. И ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ этом Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов UML?

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π€ΠΎΡ‚ΠΎ Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π‘ΠΈΠ΅ Π΅ΡΡ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Π·Π°Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎβ€¦ Π½ΠΈΠΊΠΎΠ³Π΄Π° Ρ‚Π°ΠΊ Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Π½Π΅ Ρ€Ρ‹Π», ΠΈ вот…
Π”Π°ΠΆΠ΅ ΠΏΠΎ-русски Β«realizationΒ» ΠΈ Β«implementationΒ» пСрСводятся ΠΊΠ°ΠΊ рСализация β€” это я Π²Ρ€ΠΎΠ΄Π΅ Π·Π½Π°Π», Π° Π² Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ раздСлСния Π½Π΅ встрСчал Π½ΠΈΠ³Π΄Π΅. Поиск Β«realizationΒ» Π² Π²ΠΈΠΊΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ Π΄Π΅Π», Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ настораТиваСт. А Π²ΠΎΡ‚ ΠΏΡ€ΠΎ implementation написано, Ρ‡Ρ‚ΠΎ это Π΅ΡΡ‚ΡŒ realization πŸ™‚

Β«Implementation is the realization of an application, or execution of a plan, idea, model, design, specification, standard, algorithm, or policy.Β»

Π›Π°Π΄Π½ΠΎ, ΠΏΠΎΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ это ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅.
Π’ΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Π΅ΠΌ, Ρ‡Ρ‚ΠΎ generalization β€” это просто наслСдованиС, Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΎΡ‚ абстрактного класса ΠΈΠ»ΠΈ Π½Π΅Ρ‚.
Implementation β€” рСализация интСрфСйса (ΠΈΠ»ΠΈ чисто абстрактного класса).

Π˜Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ вопрос я Π½Π΅ знаю, Ρ‡Ρ‚ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Π½ΠΎ высказал своС ΠΌΠ½Π΅Π½ΠΈΠ΅.
По Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ β€” ΠΌΠΎΠΆΠ½ΠΎ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ (realized, implemnted) ΡƒΠΆΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² интСрфСйсС просто Π½Π΅ ΠΌΠΎΠ³ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ просто ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ это интСрфСйс.
По Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌΡƒ β€” Ρ‚ΡƒΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ просто нСсколько связСй, Π² зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ссли рСализуСтся нСсколько интСрфСйсов β€” Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ нСсколько связСй Β«implementationΒ», Ρ‚ΠΎ ΠΆΠ΅ касаСтся ΠΈ generalization.
По Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΌΡƒ β€” Ссли власс Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ абстрактный ΠΈ сам Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ (Ρ‚.Π΅. Ρ‚ΠΎΠΆΠ΅ являСтся абстрактным), Ρ‚ΠΎ Ρ‚ΡƒΡ‚ просто Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (implementation, realization) β€” Ρ‚.Π΅. Ρ‚ΡƒΡ‚ чисто generalization. А Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ рСализуСтся β€” Ρ‚ΠΎ Ρ‚ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ implementation (realization).

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

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

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