имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Java β€” Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ extends ΠΈ implements Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…

ПослС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования Π½Π° C++ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Java Π±Ρ‹Π²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны прославлСнный сборщик мусора, Π° с Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ мноТСство ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ… ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Об ΠΎΠ΄Π½ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ я сСгодня расскаТу ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Π Π΅Ρ‡ΡŒ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ ΠΎ наслСдовании Π² Java. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ C++, Π³Π΄Π΅ наслСдованиС ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹Ρ‚ΡŒ мноТСствСнным, здСсь это Π½Π΅ совсСм Ρ‚Π°ΠΊ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΉ синтаксис Ρ‡Π΅Ρ€Π΅Π· Β«:Β» замСнился Π½Π° Ρ†Π΅Π»Ρ‹Ρ… Π΄Π²Π° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слова: extends ΠΈ implements. Начну с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ.

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово extends Π² Java

ДСйствиС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова Π² точности совпадаСт с Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ, ΠΎΠ΄ΠΈΠ½ класс Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Ρ‡Ρ‚ΠΎ являСтся классичСским наслСдованиСм. ΠŸΡ€Π°Π²ΠΈΠ»Π° видимости ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΡΠΎΡ…Ρ€Π°Π½ΠΈΠ»ΠΈΡΡŒ: private доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² самом классС, protected Π² самом классС ΠΈ Π²ΠΎ всСх наслСдниках, ΠΊ public ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ ΠΈ полям ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ΠΊΡƒΠ΄Π° ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ «сишного» наслСдования Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ класс. Π― сСйчас Π½Π΅ Π±ΡƒΠ΄Ρƒ Ρ€Π°ΡΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, насколько это ΡƒΠ΄ΠΎΠ±Π½ΠΎ, скаТу Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, Ρ‡Ρ‚ΠΎ со мноТСствСнным наслСдованиСм Π² C++ постоянно Ρ‚Π²ΠΎΡ€ΠΈΠ»Π°ΡΡŒ какая-Ρ‚ΠΎ каша.

НСбольшой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ наслСдования с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова extends. НапишСм класс Door, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ характСристики Π΄Π²Π΅Ρ€ΠΈ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ этого класса ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΈΠΌ, ΠΊΠ°ΠΊ с «просто Π΄Π²Π΅Ρ€ΡŒΡŽΒ». Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны напишСм Π΅Ρ‰Π΅ Π΄Π²Π° класса: IronDoor ΠΈ WoodDoor, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ класс Door(== Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚ класса Door), Ρ‚.Π΅. добавят свои характСристики ΠΊ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ.

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово implements Π² Java

Π‘ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом implements связано Ρ‡ΡƒΡ‚ΡŒ большС хитростСй. Π‘Π»ΠΎΠ²ΠΎ Β«ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ» ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Β«Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΒ», Π° Π² Ρ‚ΠΎΡ‚ самый ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ слово Β«Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΒ», Π³Π΄Π΅-Ρ‚ΠΎ Π½Π΅Π΄Π°Π»Π΅ΠΊΠΎ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ интСрфСйсы. Π’Π°ΠΊ Π²ΠΎΡ‚ конструкция public class Door implements Openable ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ класс Π΄Π²Π΅Ρ€ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ интСрфСйс Β«ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡΒ». Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ класс Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ всС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ интСрфСйса. Главная Ρ„ΠΈΡˆΠΊΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ сколь ΡƒΠ³ΠΎΠ΄Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ интСрфСйсов.

Π—Π°Ρ‡Π΅ΠΌ это Π½ΡƒΠΆΠ½ΠΎ? Π‘Π°ΠΌΡ‹ΠΉ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ, Π΄Π²Π° интСрфСйса: Openable ΠΈ Closeble. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ open, ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ close Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ. Они ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π°ΡˆΡƒ Π΄Π²Π΅Ρ€ΡŒ Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ.

Π’ классах-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°Ρ… Π΄Π²Π΅Ρ€ΠΈ(ТСлСзная ΠΈ дСрСвянная Π΄Π²Π΅Ρ€ΠΈ) Ρ‚ΠΎΠΆΠ΅ появятся ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ/Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² классС Door. Но Π½ΠΈΠΊΡ‚ΠΎ Π½Π°ΠΌ Π½Π΅ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ.

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

Π˜Ρ‚Π°ΠΊ, Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ extends ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для наслСдования ΠΎΡ‚ класса Π² прямом смыслС этого слова, Π° implements позволяСт Β«Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ интСрфСйс». На ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд это каТСтся лишним, Π½Π΅ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΈ нСпонятным, Π½ΠΎ стоит ΠΏΠ°Ρ€Ρƒ Ρ€Π°Π· ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΈ всС встаСт Π½Π° свои мСста. На сСгодня Ρƒ мСня всС, спасибо Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!

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

Каково Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ слова «имплСмСнтация»?

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ слова «имплСмСнтация» извСстно Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ числу людСй, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ, ΠΏΠΎ сути, ΠΎΠ½ΠΎ являСтся ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠΌ. Однако всС Ρ‡Π°Ρ‰Π΅ ΠΎΠ½ΠΎ Π·Π²ΡƒΡ‡ΠΈΡ‚ Π² БМИ Π² связи с освСщСниСм Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… событий. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ имплСмСнтация, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ интСрСсуСтся Ρ‚Π°ΠΊΠΈΠΌΠΈ новостями, Ρ…ΠΎΡ‡Π΅Ρ‚ Π³Π»ΡƒΠ±ΠΆΠ΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² Ρ‚Π΅ΠΌΠ΅.

ΠžΠ±Ρ‰Π΅Π΅ понятиС

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

имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. 5f5f314e941db0446ddebd71d47d1d85. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ‚ΠΎ. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅-5f5f314e941db0446ddebd71d47d1d85. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 5f5f314e941db0446ddebd71d47d1d85. ПослС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования Π½Π° C++ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Java Π±Ρ‹Π²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны прославлСнный сборщик мусора, Π° с Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ мноТСство ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ… ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Об ΠΎΠ΄Π½ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ я сСгодня расскаТу ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

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

Π’Ρ€ΠΈ способа

ΠŸΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ «имплСмСнтация», ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ способов Π΅Π΅ осущСствлСния.

К Ρ‚Π°ΠΊΠΈΠΌ способам относят:

имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. d6c42b25264ffea22f3e7842c52bea49. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ‚ΠΎ. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅-d6c42b25264ffea22f3e7842c52bea49. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° d6c42b25264ffea22f3e7842c52bea49. ПослС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования Π½Π° C++ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Java Π±Ρ‹Π²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны прославлСнный сборщик мусора, Π° с Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ мноТСство ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ… ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Об ΠΎΠ΄Π½ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ я сСгодня расскаТу ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΡ€ΠΌ, установлСнных ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΎΠΌ, обСспСчиваСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΎΠ²Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ². Π‘Ρ€Π΅Π΄ΠΈ Π½ΠΈΡ… присутствуСт Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎ- ΠΈ Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ-ΠΏΡ€Π°Π²ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² внСдрСния Π½ΠΎΡ€ΠΌ. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ ΡƒΡΠ²ΠΎΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ слова «имплСмСнтация», рассмотрим ΠΈΡ….

ΠœΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎ-ΠΏΡ€Π°Π²ΠΎΠ²ΠΎΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ

Он прСдставляСт собой комплСкс ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… срСдств, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ входят:

имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. 1a550f36f9bb71bab7385180fa82b111. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ‚ΠΎ. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅-1a550f36f9bb71bab7385180fa82b111. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 1a550f36f9bb71bab7385180fa82b111. ПослС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования Π½Π° C++ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Java Π±Ρ‹Π²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны прославлСнный сборщик мусора, Π° с Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ мноТСство ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ… ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Об ΠΎΠ΄Π½ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ я сСгодня расскаТу ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Π’ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ изучСния вопроса ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ слова «имплСмСнтация» рассмотрим Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ.

ΠΠ°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ-ΠΏΡ€Π°Π²ΠΎΠ²ΠΎΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ

Π’ Π½Π΅Π³ΠΎ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ внутригосударствСнных срСдств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ·Π²Π°Π½Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π½ΠΎΡ€ΠΌ МП. К Π½ΠΈΠΌ относятся:

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

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

Java β€” Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ extends ΠΈ implements Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…

ПослС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования Π½Π° C++ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Java Π±Ρ‹Π²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны прославлСнный сборщик мусора, Π° с Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ мноТСство ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ… ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Об ΠΎΠ΄Π½ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ я сСгодня расскаТу ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Π Π΅Ρ‡ΡŒ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ ΠΎ наслСдовании Π² Java. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ C++, Π³Π΄Π΅ наслСдованиС ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹Ρ‚ΡŒ мноТСствСнным, здСсь это Π½Π΅ совсСм Ρ‚Π°ΠΊ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΉ синтаксис Ρ‡Π΅Ρ€Π΅Π· Β«:Β» замСнился Π½Π° Ρ†Π΅Π»Ρ‹Ρ… Π΄Π²Π° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слова: extends ΠΈ implements. Начну с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ.

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово extends Π² Java

ДСйствиС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова Π² точности совпадаСт с Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ, ΠΎΠ΄ΠΈΠ½ класс Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Ρ‡Ρ‚ΠΎ являСтся классичСским наслСдованиСм. ΠŸΡ€Π°Π²ΠΈΠ»Π° видимости ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΡΠΎΡ…Ρ€Π°Π½ΠΈΠ»ΠΈΡΡŒ: private доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² самом классС, protected Π² самом классС ΠΈ Π²ΠΎ всСх наслСдниках, ΠΊ public ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ ΠΈ полям ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ΠΊΡƒΠ΄Π° ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ «сишного» наслСдования Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ класс. Π― сСйчас Π½Π΅ Π±ΡƒΠ΄Ρƒ Ρ€Π°ΡΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, насколько это ΡƒΠ΄ΠΎΠ±Π½ΠΎ, скаТу Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, Ρ‡Ρ‚ΠΎ со мноТСствСнным наслСдованиСм Π² C++ постоянно Ρ‚Π²ΠΎΡ€ΠΈΠ»Π°ΡΡŒ какая-Ρ‚ΠΎ каша.

НСбольшой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ наслСдования с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова extends. НапишСм класс Door, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ характСристики Π΄Π²Π΅Ρ€ΠΈ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ этого класса ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΈΠΌ, ΠΊΠ°ΠΊ с «просто Π΄Π²Π΅Ρ€ΡŒΡŽΒ». Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны напишСм Π΅Ρ‰Π΅ Π΄Π²Π° класса: IronDoor ΠΈ WoodDoor, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ класс Door(== Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚ класса Door), Ρ‚.Π΅. добавят свои характСристики ΠΊ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ.

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово implements Π² Java

Π‘ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом implements связано Ρ‡ΡƒΡ‚ΡŒ большС хитростСй. Π‘Π»ΠΎΠ²ΠΎ Β«ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ» ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Β«Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΒ», Π° Π² Ρ‚ΠΎΡ‚ самый ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ слово Β«Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΒ», Π³Π΄Π΅-Ρ‚ΠΎ Π½Π΅Π΄Π°Π»Π΅ΠΊΠΎ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ интСрфСйсы. Π’Π°ΠΊ Π²ΠΎΡ‚ конструкция public class Door implements Openable ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ класс Π΄Π²Π΅Ρ€ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ интСрфСйс Β«ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡΒ». Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ класс Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ всС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ интСрфСйса. Главная Ρ„ΠΈΡˆΠΊΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ сколь ΡƒΠ³ΠΎΠ΄Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ интСрфСйсов.

Π—Π°Ρ‡Π΅ΠΌ это Π½ΡƒΠΆΠ½ΠΎ? Π‘Π°ΠΌΡ‹ΠΉ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ, Π΄Π²Π° интСрфСйса: Openable ΠΈ Closeble. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ open, ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ close Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ. Они ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π°ΡˆΡƒ Π΄Π²Π΅Ρ€ΡŒ Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ.

Π’ классах-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°Ρ… Π΄Π²Π΅Ρ€ΠΈ(ТСлСзная ΠΈ дСрСвянная Π΄Π²Π΅Ρ€ΠΈ) Ρ‚ΠΎΠΆΠ΅ появятся ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ/Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² классС Door. Но Π½ΠΈΠΊΡ‚ΠΎ Π½Π°ΠΌ Π½Π΅ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ.

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

Π˜Ρ‚Π°ΠΊ, Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ extends ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для наслСдования ΠΎΡ‚ класса Π² прямом смыслС этого слова, Π° implements позволяСт Β«Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ интСрфСйс». На ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд это каТСтся лишним, Π½Π΅ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΈ нСпонятным, Π½ΠΎ стоит ΠΏΠ°Ρ€Ρƒ Ρ€Π°Π· ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΈ всС встаСт Π½Π° свои мСста. На сСгодня Ρƒ мСня всС, спасибо Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!

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

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

Автор Dmitry dziuba Π·Π°Π΄Π°Π» вопрос Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π”Ρ€ΡƒΠ³ΠΈΠ΅ языки ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ

Π§Π΅ΠΌ отличаСтся имплСмСнтация ΠΎΡ‚ наслСдования? =) ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π§Π΅ΠΌ отличаСтся имплСмСнтация ΠΎΡ‚ наслСдования? ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π»ΡƒΡ‡ΡˆΠΈΠΉ ΠΎΡ‚Π²Π΅Ρ‚

ΠžΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ Π˜Ρ€ΠΈΠ½Π° Π’[Π³ΡƒΡ€Ρƒ]
Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ: это рСализация ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Ρ‚Π΅. Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ фактичСски Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² классС. А наслСдованиС, это созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ класса Π½Π° основС старого, ΠΏΡ€ΠΈ этом рСализация ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ, ΠΎΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса.
Но Ρ‡Π°Ρ‰Π΅, слово имплСмСнтация ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ для интСрфСйсов: это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ интСрфСйс, ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΈ свойства.

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ (ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ
ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ слова «имплСмСнтация» извСстно Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ числу людСй, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ, ΠΏΠΎ сути, ΠΎΠ½ΠΎ являСтся ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠΌ. Однако всС Ρ‡Π°Ρ‰Π΅ ΠΎΠ½ΠΎ Π·Π²ΡƒΡ‡ΠΈΡ‚ Π² БМИ Π² связи с освСщСниСм Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… событий. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ имплСмСнтация, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ интСрСсуСтся Ρ‚Π°ΠΊΠΈΠΌΠΈ новостями, Ρ…ΠΎΡ‡Π΅Ρ‚ Π³Π»ΡƒΠ±ΠΆΠ΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² Ρ‚Π΅ΠΌΠ΅.

ΠžΠ±Ρ‰Π΅Π΅ понятиС

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

имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. 2799695. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ‚ΠΎ. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅-2799695. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 2799695. ПослС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования Π½Π° C++ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Java Π±Ρ‹Π²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны прославлСнный сборщик мусора, Π° с Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ мноТСство ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ… ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Об ΠΎΠ΄Π½ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ я сСгодня расскаТу ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

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

Π’Ρ€ΠΈ способа

ΠŸΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ «имплСмСнтация», ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ способов Π΅Π΅ осущСствлСния.

К Ρ‚Π°ΠΊΠΈΠΌ способам относят:

имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. 2799697. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ‚ΠΎ. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅-2799697. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 2799697. ПослС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования Π½Π° C++ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Java Π±Ρ‹Π²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны прославлСнный сборщик мусора, Π° с Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ мноТСство ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ… ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Об ΠΎΠ΄Π½ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ я сСгодня расскаТу ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΡ€ΠΌ, установлСнных ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΎΠΌ, обСспСчиваСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΎΠ²Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ². Π‘Ρ€Π΅Π΄ΠΈ Π½ΠΈΡ… присутствуСт Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎ- ΠΈ Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ-ΠΏΡ€Π°Π²ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² внСдрСния Π½ΠΎΡ€ΠΌ. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ ΡƒΡΠ²ΠΎΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ слова «имплСмСнтация», рассмотрим ΠΈΡ….

ΠœΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎ-ΠΏΡ€Π°Π²ΠΎΠ²ΠΎΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ

Он прСдставляСт собой комплСкс ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… срСдств, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ входят:

имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. 2799696. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ‚ΠΎ. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅-2799696. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 2799696. ПослС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования Π½Π° C++ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Java Π±Ρ‹Π²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны прославлСнный сборщик мусора, Π° с Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ мноТСство ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ… ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Об ΠΎΠ΄Π½ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ я сСгодня расскаТу ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Π’ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ изучСния вопроса ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ слова «имплСмСнтация» рассмотрим Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ.

ΠΠ°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ-ΠΏΡ€Π°Π²ΠΎΠ²ΠΎΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ

Π’ Π½Π΅Π³ΠΎ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ внутригосударствСнных срСдств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ·Π²Π°Π½Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π½ΠΎΡ€ΠΌ МП. К Π½ΠΈΠΌ относятся:

НС ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ (ΠΈ Π΅ΡΡ‚ΡŒ Π»ΠΈ ΠΎΠ½Π°) тонкая Π³Ρ€Π°Π½ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ связСй Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов UML:

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

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

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

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

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

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

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

имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. a58783a944a78eeff710f8cdb343d62c. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ‚ΠΎ. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅-a58783a944a78eeff710f8cdb343d62c. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° a58783a944a78eeff710f8cdb343d62c. ПослС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования Π½Π° C++ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Java Π±Ρ‹Π²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны прославлСнный сборщик мусора, Π° с Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ мноТСство ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ… ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Об ΠΎΠ΄Π½ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ я сСгодня расскаТу ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

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

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

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

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

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

имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. a58783a944a78eeff710f8cdb343d62c. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ‚ΠΎ. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅-a58783a944a78eeff710f8cdb343d62c. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° a58783a944a78eeff710f8cdb343d62c. ПослС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования Π½Π° C++ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Java Π±Ρ‹Π²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны прославлСнный сборщик мусора, Π° с Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ мноТСство ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ… ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Об ΠΎΠ΄Π½ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ я сСгодня расскаТу ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. 47e418e2aa17072364777060ccbb7e07. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ‚ΠΎ. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅-47e418e2aa17072364777060ccbb7e07. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 47e418e2aa17072364777060ccbb7e07. ПослС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования Π½Π° C++ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Java Π±Ρ‹Π²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны прославлСнный сборщик мусора, Π° с Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ мноТСство ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ… ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Об ΠΎΠ΄Π½ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ я сСгодня расскаТу ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

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

Implementation ΠΊΠ°ΠΊ дСкомпозиция ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π° ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΌΠ½Π΅ Ρ‚ΠΎΠΆΠ΅ нравится. Волько Π½Π΅ понял, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρƒ тСбя implementation Π² UML ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΠ΅Ρ‚ с implementation Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Если ΡΡƒΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ синтаксису, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Java ΠΈΠ»ΠΈ PHP, Ρ‚ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ класс Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ интСрфСйс, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово implement. Один класс Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ мноТСство интСрфСйсов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, IComparable, IMovable ΠΈ > Π’ ΠΌΠ°Π½ΡƒΠ°Π»Π΅ 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?

имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. fee5700a74a246f93940ca294957994b. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ‚ΠΎ. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅-fee5700a74a246f93940ca294957994b. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° fee5700a74a246f93940ca294957994b. ПослС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования Π½Π° C++ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Java Π±Ρ‹Π²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны прославлСнный сборщик мусора, Π° с Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ мноТСство ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ… ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Об ΠΎΠ΄Π½ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ я сСгодня расскаТу ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Π‘ΠΈΠ΅ Π΅ΡΡ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Π·Π°Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎβ€¦ Π½ΠΈΠΊΠΎΠ³Π΄Π° Ρ‚Π°ΠΊ Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Π½Π΅ Ρ€Ρ‹Π», ΠΈ вот…
Π”Π°ΠΆΠ΅ ΠΏΠΎ-русски Β«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).

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ Π² Java ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ΅

имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. content 274289042f65a03e5277229a218de31b. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ‚ΠΎ. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅-content 274289042f65a03e5277229a218de31b. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° content 274289042f65a03e5277229a218de31b. ПослС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования Π½Π° C++ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Java Π±Ρ‹Π²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны прославлСнный сборщик мусора, Π° с Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ мноТСство ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ… ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Об ΠΎΠ΄Π½ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ я сСгодня расскаТу ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ – это ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ написанныС Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ людьми, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ собой ΠΈ со внСшними прилоТСниями. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ со слоями сСрвисов, бСзопасности, DAO ΠΈ Ρ‚.Π΄. Π­Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Π΅ конструкции, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… для измСнСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ‚Ρ€ΠΎΠ³Π°Ρ‚ΡŒ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅.

Новички часто ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚, Ρ‡Π΅ΠΌ интСрфСйс отличаСтся ΠΎΡ‚ абстрактного класса. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ Π² Java ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡ€ΡƒΡŽΡ‚ отсутствиС мноТСствСнного наслСдования классов. Π£ класса-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ абстрактный класс-Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ, Π° Π²ΠΎΡ‚ интСрфСйсов класс ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ (ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ) сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Π½Π° Java ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ класс:

Π’ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌ интСрфСйс классС Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ всС прСдусмотрСнныС интСрфСйсом ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ появились Π² Java 8. Π˜Ρ… ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ default. Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ это ΠΌΠ΅Ρ‚ΠΎΠ΄ say_goodbye, рСализация ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ прописана прямо Π² интСрфСйсС. Π”Π΅Ρ„ΠΎΠ»Ρ‚Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ использованию, Π½ΠΎ ΠΏΡ€ΠΈ нСобходимости ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π² ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΡ… интСрфСйс классах.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс Java

Если Ρƒ интСрфСйса Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ абстрактный ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс. Π•Π³ΠΎ принято ΠΏΠΎΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ @FunctionalInterface, которая ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ компилятору, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ абстрактного ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² этом интСрфСйсС Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΎΠ± ошибкС. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Ρ… (default) ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρƒ интСрфСйса ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ мноТСство – Π² Ρ‚ΠΎΠΌ числС ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… классу java.lang.Object.

Как выглядит Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс Π½Π° Java:

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ интСрфСйсы появились Π² Java 8. Они обСспСчили ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ лямбда-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, использованиС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΌ ΠΈ понятным:

Π’ Ρ‚ΠΎΠΉ ΠΆΠ΅ вСрсии появились ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ встроСнных интСрфСйсов: java.util.function ΠΈ java.util.stream.

РСализация интСрфСйсов классами Java

Допустим, Π΅ΡΡ‚ΡŒ интСрфСйс Edible, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ классы Fruit, Vegetable, Fish. ЭкзСмпляры этих классов ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·Π½ΠΈΡ†Ρƒ Π² конструкторах: для Ρ„Ρ€ΡƒΠΊΡ‚ΠΎΠ² Π·Π°Π΄Π°Ρ‘ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ сорт, для Ρ€Ρ‹Π±Ρ‹ – Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Ρ€Π°ΠΉΠΎΠ½ Π²Ρ‹Π»ΠΎΠ²Π° ΠΈ вСс ΠΏΠΎΡ€Ρ†ΠΈΠΈ Π² Π³Ρ€Π°ΠΌΠΌΠ°Ρ…. Но ссылки Π½Π° ΠΎΠ±Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ…Ρ€Π°Π½ΠΈΠΌ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° – Β«Π‘ΡŠΠ΅ΡΡ‚Π½ΠΎΠ΅Β».

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹ΡˆΠ΅ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ООП β€” ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ. ΠœΡ‹ раскрыли ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ явлСниС β€” ΡΡŠΠ΅Π΄ΠΎΠ±Π½ΠΎΡΡ‚ΡŒ β€” Ρ‡Π΅Ρ€Π΅Π· нСсколько классов, свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… частично ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ явлСния β€” это ΠΈ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ. Если Π½ΡƒΠΆΠ½ΠΎ, Ρ‚Π°ΠΊΡƒΡŽ систСму всСгда ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ ΠΈ ΡΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π’ нашСм случаС β€” Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ ΡΡŠΠ΅ΡΡ‚Π½ΠΎΠ³ΠΎ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΡ… приготовлСния.

Π’ Java ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π·:

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Π²Ρ‹Ρ€ΡƒΡ‡Π°Π΅Ρ‚ Π² ситуации, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ создании ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΡ‹ Π½Π΅ Π·Π½Π°Π΅ΠΌ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠ°ΠΊΠΎΠ³ΠΎ класса Π΅ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ присвоСн.

имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. content 274289042f65a03e5277229a218de31b. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ‚ΠΎ. имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅-content 274289042f65a03e5277229a218de31b. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° имплСмСнтация Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° content 274289042f65a03e5277229a218de31b. ПослС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования Π½Π° C++ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Java Π±Ρ‹Π²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны прославлСнный сборщик мусора, Π° с Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ мноТСство ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ… ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Об ΠΎΠ΄Π½ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ я сСгодня расскаТу ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ – это ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ написанныС Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ людьми, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ собой ΠΈ со внСшними прилоТСниями. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ со слоями сСрвисов, бСзопасности, DAO ΠΈ Ρ‚.Π΄. Π­Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Π΅ конструкции, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… для измСнСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ‚Ρ€ΠΎΠ³Π°Ρ‚ΡŒ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅.

Новички часто ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚, Ρ‡Π΅ΠΌ интСрфСйс отличаСтся ΠΎΡ‚ абстрактного класса. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ Π² Java ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡ€ΡƒΡŽΡ‚ отсутствиС мноТСствСнного наслСдования классов. Π£ класса-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ абстрактный класс-Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ, Π° Π²ΠΎΡ‚ интСрфСйсов класс ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ (ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ) сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Π½Π° Java ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ класс:

Π’ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌ интСрфСйс классС Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ всС прСдусмотрСнныС интСрфСйсом ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ появились Π² Java 8. Π˜Ρ… ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ default. Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ это ΠΌΠ΅Ρ‚ΠΎΠ΄ say_goodbye, рСализация ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ прописана прямо Π² интСрфСйсС. Π”Π΅Ρ„ΠΎΠ»Ρ‚Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ использованию, Π½ΠΎ ΠΏΡ€ΠΈ нСобходимости ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π² ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΡ… интСрфСйс классах.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс Java

Если Ρƒ интСрфСйса Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ абстрактный ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс. Π•Π³ΠΎ принято ΠΏΠΎΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ @FunctionalInterface, которая ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ компилятору, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ абстрактного ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² этом интСрфСйсС Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΎΠ± ошибкС. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Ρ… (default) ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρƒ интСрфСйса ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ мноТСство – Π² Ρ‚ΠΎΠΌ числС ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… классу java.lang.Object.

Как выглядит Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс Π½Π° Java:

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ интСрфСйсы появились Π² Java 8. Они обСспСчили ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ лямбда-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, использованиС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΌ ΠΈ понятным:

Π’ Ρ‚ΠΎΠΉ ΠΆΠ΅ вСрсии появились ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ встроСнных интСрфСйсов: java.util.function ΠΈ java.util.stream.

РСализация интСрфСйсов классами Java

Допустим, Π΅ΡΡ‚ΡŒ интСрфСйс Edible, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ классы Fruit, Vegetable, Fish. ЭкзСмпляры этих классов ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·Π½ΠΈΡ†Ρƒ Π² конструкторах: для Ρ„Ρ€ΡƒΠΊΡ‚ΠΎΠ² Π·Π°Π΄Π°Ρ‘ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ сорт, для Ρ€Ρ‹Π±Ρ‹ – Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Ρ€Π°ΠΉΠΎΠ½ Π²Ρ‹Π»ΠΎΠ²Π° ΠΈ вСс ΠΏΠΎΡ€Ρ†ΠΈΠΈ Π² Π³Ρ€Π°ΠΌΠΌΠ°Ρ…. Но ссылки Π½Π° ΠΎΠ±Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ…Ρ€Π°Π½ΠΈΠΌ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° – Β«Π‘ΡŠΠ΅ΡΡ‚Π½ΠΎΠ΅Β».

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹ΡˆΠ΅ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ООП β€” ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ. ΠœΡ‹ раскрыли ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ явлСниС β€” ΡΡŠΠ΅Π΄ΠΎΠ±Π½ΠΎΡΡ‚ΡŒ β€” Ρ‡Π΅Ρ€Π΅Π· нСсколько классов, свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… частично ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ явлСния β€” это ΠΈ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ. Если Π½ΡƒΠΆΠ½ΠΎ, Ρ‚Π°ΠΊΡƒΡŽ систСму всСгда ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ ΠΈ ΡΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π’ нашСм случаС β€” Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ ΡΡŠΠ΅ΡΡ‚Π½ΠΎΠ³ΠΎ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΡ… приготовлСния.

Π’ Java ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π·:

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Π²Ρ‹Ρ€ΡƒΡ‡Π°Π΅Ρ‚ Π² ситуации, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ создании ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΡ‹ Π½Π΅ Π·Π½Π°Π΅ΠΌ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠ°ΠΊΠΎΠ³ΠΎ класса Π΅ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ присвоСн.

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ миксин Π½Π° ΠΏΠ»ΡŽΡΠ°Ρ…

Advanced: Π’Π΅ΠΌΠ° ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½ΠΎΠΉ слоТности ΠΈΠ»ΠΈ ваТная.

Π”ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток.

Написал ΡƒΠ΄ΠΎΠ±Π½ΡƒΡŽ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ миксин β€” Ρ€Π΅ΡˆΠΈΠ» Π²Ρ‹Π»ΠΎΠΆΠΈΡ‚ΡŒ, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠΌΡƒ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚.
БобствСнно Ρ…Π΅Π΄Π΅Ρ€: Mixines.h (ΠΏΠΎΠΊΠ° Π±Π΅Π· ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²).

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

Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования.

kas
Π― Ρ‚Π°ΠΊ понимаю Π½Π°ΠΌΠ΅ΠΊ Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ компиляции. Если Π΄Π° β€” Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ здСсь это Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, Ρ‚. ΠΊ. Π² основном Ρ€Π°Π±ΠΎΡ‚Π° прСдполагаСтся с интСрфСйсом, Π° имплСмСнтация Π»Π΅Π³ΠΊΠΎ Π·Π° PIMPL Π² cpp скрываСтся.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, Π² Π½ΠΎΠ²ΠΎΠΉ вСрсии Π½Π΅ Π½Π°Π΄ΠΎ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ миксины. Π½ΠΎ Π²ΠΈΠ΄ΠΈΠΌΠΎ ΠΎΠ½ΠΎ Π½ΠΈΠΊΠΎΠΌΡƒ Π½Π΅ интСрСсно. =

Paltr
Π§Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ Ρ…ΠΎΡ‚ΡŒ, Ρ‚Π²ΠΎΠΉ миксин?

ΠšΡ€Π°ΠΉΠ½Π΅ полСзная, ИМΠ₯О, Π²Π΅Ρ‰ΡŒ Π½ΠΎ Π½Π° ΠΏΠ»ΡŽΡΠ°Ρ… Π΅Π΅ Π½Π΅Ρ‚.

ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΡ„ΠΈΡ‚Π° Π² ΡΡ‚ΡƒΠ΄ΠΈΡŽ. я Ρ‚Π°ΠΊ ΠΈ Π½Π΅ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π», Π³Π΄Π΅ это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ.

Suslik
МнС ΠΎΠ½ΠΎ сСйчас Π½Π°Π΄ΠΎ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Steering Behavior. Π‘Π°ΠΌΠΎΠ΅ ΠΎΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ всС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ пСрсонаТа Π² пятнадцати строках.
А Ρ‚Π°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ миксинам всСгда найдСтся β€” Π½Π΅ зря ΠΎΠ½ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌΠΈ языками Π½Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ =).

Paltr
> Π‘Π°ΠΌΠΎΠ΅ ΠΎΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ всС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ пСрсонаТа Π² пятнадцати строках
> ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ пСрсонаТа Π² пятнадцати строках
> ΠŸΠ―Π’ΠΠΠ”Π¦ΠΠ’Π˜ БВРОКАΠ₯

Π½Π΅, Π½Ρƒ ΠΏΡ€Π°Π²Π΄Π°, ΠΏΡ€ΠΈΠ²Π΅Π΄ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, интСрСсно ΠΆΠ΅. моТСшь ΠΈΠ· своСго Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΈΠ· физикоэнСргСтичСских ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ 🙂

Suslik
> ΠΏΠ°-Π±Π°Π°Π°ΠΌ! ΠΎΠ΄Π½Π° строка.
БмСшно.
Π― Ρ‚Π΅Π±Π΅ ΠΏΡ€ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса, Ρ‚Ρ‹ ΠΌΠ½Π΅ кусок ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Steering Behavior. Π Π°Π·ΡƒΠΌΠ½ΠΎ.
НуТСн ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” смотри Π² ΠΈΠ½Π΅Ρ‚Π΅. Если Π½Π΅ найдСшь, Π² Ρ‡Π΅ΠΌ я сомнСваюсь, пиши β€” ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚.

Suslik
ΠšΠΎΡ€ΠΎΡ‡Π΅, это наслСдуСмый(Π² случаС с C++), Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€ΠΎΠ΄Π΅, ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π».
МоТно нСсколько Ρ€Π°Π·Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· Wiki. Допустим Π΅ΡΡ‚ΡŒ Β«ΠΏΡ€ΠΈΠΌΠ΅ΡΡŒΒ» 🙂 с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ >, ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅ поТалста, Ρ‚ΠΎΠ³Π΄Π° Ρ‡Π΅ΠΌ это Π»ΡƒΡ‡ΡˆΠ΅ простого шаблонного наслСдования:
ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π½ΠΈΡ‡Π΅ΠΌ. Π’.ΠΊ. ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ миксинов Π² C++ Π½Π΅Ρ‚ ΠΈ ΠΎΠ½ΠΎ эмулируСтся ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠΌ. Однако, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‚Ρ‹ знаСшь(ΠΈ я Ρ‚ΠΎΠΆΠ΅ 🙂 ) ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΡˆΡ‚ΡƒΠΊΠΈ 😉

Π•Ρ‰Π΅ ΠΊΠ°ΡΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ примСнСния, Ρ†ΠΈΡ‚Π°Ρ‚Π° ΠΈΠ· Wiki: Β«Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·Π²Ρ‘Ρ€Π½ΡƒΡ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Β«Boost operatorsΒ».Β»

Suslik
> ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅ поТалста, Ρ‚ΠΎΠ³Π΄Π° Ρ‡Π΅ΠΌ это Π»ΡƒΡ‡ΡˆΠ΅ простого шаблонного наслСдования:
А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ запиши Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ интСрфСйса И Ρ‡Π΅Ρ€Π΅Π· 10 миксин (класс А). Π­Ρ‚ΠΎ ΡƒΠΆΠ΅ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ. А ΠΏΠΎΡ‚ΠΎΠΌ Π² ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ΅ΠΌΡΡ классС ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈ ΠΎΠ΄Π½Ρƒ миксину для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ класс Π‘. Если подмСнишь β€” ΠΎΡ‚ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ всС Ρ€Π°Π²Π½ΠΎ останутся «куски» (Π΄Π°Π½Π½Ρ‹Π΅, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹). ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° β€” вновь Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ интСрфСйса И ΠΈ снова ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ 10 миксин Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΈ этом Ρƒ класса А ΠΈ Π‘ этот Π½Π°Π±ΠΎΡ€ отличаСтся лишь Π½Π° ΠΎΠ΄Π½Ρƒ миксину. Π­Ρ‚ΠΎ ΠΈΠ· ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠ³ΠΎ.
Мой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ нСдостатками Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚, Π΄Π° ΠΈ просто Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΈΠ±Ρ‡Π΅ ΠΈ ΡƒΠ΄ΠΎΠ±Π½Π΅ΠΉ.

Π˜ΠœΠŸΠ›Π•ΠœΠ•ΠΠ’ΠΠ¦Π˜Π―

Π˜ΠœΠŸΠ›Π•ΠœΠ•ΠΠ’ΠΠ¦Π˜Π― (ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²Π°) (Π°Π½Π³Π». implementation) β€” фактичСскоС осущСствлСниС ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π² Π½Π° внутригосударствСнном ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΡƒΡ‚Π΅ΠΌ трансформации ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎ-ΠΏΡ€Π°Π²ΠΎΠ²Ρ‹Ρ… Π½ΠΎΡ€ΠΌ Π² Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Π·Π°ΠΊΠΎΠ½Ρ‹ ΠΈ ΠΏΠΎΠ΄Π·Π°ΠΊΠΎΠ½Π½Ρ‹Π΅ Π°ΠΊΡ‚Ρ‹. Π’ рядС государств Ρ€Π°Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Π΅ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Ρ‹ автоматичСски становятся Ρ‡Π°ΡΡ‚ΡŒΡŽ Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π°ΠΊΠΎΠ½ΠΎΠ΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°. Π’Π°ΠΊ, Π² соотвСтствии с Ρ‡. 4 ст. 15 ΠšΠΎΠ½ΡΡ‚ΠΈΡ‚ΡƒΡ†ΠΈΠΈ Π Π€ ΠΎΠ±Ρ‰Π΅ΠΏΡ€ΠΈΠ·Π½Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈ Π½ΠΎΡ€ΠΌΡ‹ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²Π° ΠΈ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Π΅ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Ρ‹ Π Π€ ΡΠ²Π»ΡΡŽΡ‚ΡΡ составной Ρ‡Π°ΡΡ‚ΡŒΡŽ Π΅Π΅ ΠΏΡ€Π°Π²ΠΎΠ²ΠΎΠΉ систСмы. Если ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹ΠΌ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΎΠΌ Π Π€ установлСны ΠΈΠ½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°, Ρ‡Π΅ΠΌ прСдусмотрСнныС Π·Π°ΠΊΠΎΠ½ΠΎΠΌ, Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π°.

Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π˜ΠœΠŸΠ›Π•ΠœΠ•ΠΠ’ΠΠ¦Π˜Π― Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… словарях:

Π˜ΠœΠŸΠ›Π•ΠœΠ•ΠΠ’ΠΠ¦Π˜Π―

(ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²Π°) (Π°Π½Π³Π». implementation) β€” фактичСскоС осущСствлСниС ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π² Π½Π° внутригосударствСнном ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΡƒΡ‚Π΅ΠΌ трансформаци. ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ

Π˜ΠœΠŸΠ›Π•ΠœΠ•ΠΠ’ΠΠ¦Π˜Π―

Π˜ΠœΠŸΠ›Π•ΠœΠ•ΠΠ’ΠΠ¦Π˜Π―

1) ΠžΡ€Ρ„ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΠ°Ρ запись слова: имплСмСнтация2) Π£Π΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π² словС: ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚`ация3) Π”Π΅Π»Π΅Π½ΠΈΠ΅ слова Π½Π° слоги (пСрСнос слова): имплСмСнтация4) ЀонСтичСска. ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ

Π˜ΠœΠŸΠ›Π•ΠœΠ•ΠΠ’ΠΠ¦Π˜Π―

(Π°Π½Π³Π». implementation)Π² ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡ€Π°Π²Π΅ фактичСская рСализация ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π² Π½Π° внутригосударствСнном ΡƒΡ€ΠΎΠ²Π½Π΅; осущСствляСтся ΠΏΡƒΡ‚Π΅ΠΌ Ρ‚Ρ€Π°. ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ

Π˜ΠœΠŸΠ›Π•ΠœΠ•ΠΠ’ΠΠ¦Π˜Π―

(ΠœΠ•Π–Π”Π£ΠΠΠ ΠžΠ”ΠΠžΠ“Πž ΠŸΠ ΠΠ’Π) (Π°Π½Π³Π». implementation)- фактичСская рСализация ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π² Π½Π° внутригосударствСнном ΡƒΡ€ΠΎΠ²Π½Π΅; осущСствляСтся ΠΏΡƒΡ‚Π΅ΠΌ трансформации ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎ-ΠΏΡ€Π°Π²ΠΎΠ²Ρ‹Ρ… Π½ΠΎΡ€ΠΌ Π² Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Π·Π°ΠΊΠΎΠ½Ρ‹ ΠΈ ΠΏΠΎΠ΄Π·Π°ΠΊΠΎΠ½Π½Ρ‹Π΅ Π°ΠΊΡ‚Ρ‹. Π’ рядС государств Ρ€Π°Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Π΅ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Ρ‹ автоматичСски становятся Ρ‡Π°ΡΡ‚ΡŒΡŽ Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π°ΠΊΠΎΠ½ΠΎΠ΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°. Π’Π°ΠΊ, Π² соотвСтствии со ст. 15 ΠšΠΎΠ½ΡΡ‚ΠΈΡ‚ΡƒΡ†ΠΈΠΈ Π Π€ Π² Π Π€ ΠΎΠ±Ρ‰Π΅ΠΏΡ€ΠΈΠ·Π½Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈ Π½ΠΎΡ€ΠΌΡ‹ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²Π° ΠΈ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Π΅ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Ρ‹ Π Π€ ΡΠ²Π»ΡΡŽΡ‚ΡΡ составной Ρ‡Π°ΡΡ‚ΡŒΡŽ Π΅Π΅ ΠΏΡ€Π°Π²ΠΎΠ²ΠΎΠΉ систСмы. Если ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹ΠΌ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΎΠΌ Π Π€ установлСны ΠΈΠ½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°, Ρ‡Π΅ΠΌ прСдусмотрСнныС Π·Π°ΠΊΠΎΠ½ΠΎΠΌ, Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π°. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅.

Π€Π΅Π΄Π΅Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π°ΠΊΠΎΠ½ΠΎΠΌ «О ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π°Ρ… Российской Π€Π΅Π΄Π΅Ρ€Π°Ρ†ΠΈΠΈΒ» прСдусматриваСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ трансформации.

Π˜ΠœΠŸΠ›Π•ΠœΠ•ΠΠ’ΠΠ¦Π˜Π―

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ (ΠΎΡ‚ Π»Π°Ρ‚. impleo наполняю, исполняю) осущСствлСниС, исполнСниС государством ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΎΠ²Ρ‹Ρ… Π½ΠΎΡ€ΠΌ. КаТдоС государство само ΠΎΠΏΡ€Π΅Π΄Π΅Π». ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ

Π˜ΠœΠŸΠ›Π•ΠœΠ•ΠΠ’ΠΠ¦Π˜Π―

Π˜ΠœΠŸΠ›Π•ΠœΠ•ΠΠ’ΠΠ¦Π˜Π―

Π˜ΠœΠŸΠ›Π•ΠœΠ•ΠΠ’ΠΠ¦Π˜Π― (ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²Π°) (Π°Π½Π³Π». implementation) β€” фактичСскоС осущСствлСниС ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π² Π½Π° внутригосударствСнном ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΡƒΡ‚Π΅ΠΌ трансформации ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎ-ΠΏΡ€Π°Π²ΠΎΠ²Ρ‹Ρ… Π½ΠΎΡ€ΠΌ Π² Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Π·Π°ΠΊΠΎΠ½Ρ‹ ΠΈ ΠΏΠΎΠ΄Π·Π°ΠΊΠΎΠ½Π½Ρ‹Π΅ Π°ΠΊΡ‚Ρ‹. Π’ рядС государств Ρ€Π°Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Π΅ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Ρ‹ автоматичСски становятся Ρ‡Π°ΡΡ‚ΡŒΡŽ Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π°ΠΊΠΎΠ½ΠΎΠ΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°. Π’Π°ΠΊ, Π² соотвСтствии с Ρ‡. 4 ст. 15 ΠšΠΎΠ½ΡΡ‚ΠΈΡ‚ΡƒΡ†ΠΈΠΈ Π Π€ ΠΎΠ±Ρ‰Π΅ΠΏΡ€ΠΈΠ·Π½Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈ Π½ΠΎΡ€ΠΌΡ‹ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²Π° ΠΈ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Π΅ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Ρ‹ Π Π€ ΡΠ²Π»ΡΡŽΡ‚ΡΡ составной Ρ‡Π°ΡΡ‚ΡŒΡŽ Π΅Π΅ ΠΏΡ€Π°Π²ΠΎΠ²ΠΎΠΉ систСмы. Если ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹ΠΌ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΎΠΌ Π Π€ установлСны ΠΈΠ½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°, Ρ‡Π΅ΠΌ прСдусмотрСнныС Π·Π°ΠΊΠΎΠ½ΠΎΠΌ, Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π°.
Π‘ΠΈΠ½ΠΎΠ½ΠΈΠΌΡ‹:

Π˜ΠœΠŸΠ›Π•ΠœΠ•ΠΠ’ΠΠ¦Π˜Π―

Π£Π΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π² словС: ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚`ацияУдарСниС ΠΏΠ°Π΄Π°Π΅Ρ‚ Π½Π° Π±ΡƒΠΊΠ²Ρƒ: Π°Π‘Π΅Π·ΡƒΠ΄Π°Ρ€Π½Ρ‹Π΅ гласныС Π² словС: ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚`ация

Π˜ΠœΠŸΠ›Π•ΠœΠ•ΠΠ’ΠΠ¦Π˜Π―

Π˜ΠœΠŸΠ›Π•ΠœΠ•ΠΠ’ΠΠ¦Π˜Π―

ΠΎΡ‚ Π»Π°Ρ‚. Impleo β€” наполняю, исполняю) β€” осущСствлСниС, исполнСниС государством Π½ΠΎΡ€ΠΌ, содСрТащихся Π² Π°ΠΊΡ‚Π°Ρ… ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²Π°. КаТдоС государство само опрСдСляСт ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ срСдства ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Π’ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдусмотрСна Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ издания Π·Π°ΠΊΠΎΠ½Π° ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ Π°ΠΊΡ‚Π° для Π΅Π³ΠΎ осущСствлСния. ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ

Π˜ΠœΠŸΠ›Π•ΠœΠ•ΠΠ’ΠΠ¦Π˜Π―

ΠΎΡ‚ Π»Π°Ρ‚. impleo наполняю, исполняю) осущСствлСниС, исполнСниС государством ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΎΠ²Ρ‹Ρ… Π½ΠΎΡ€ΠΌ. КаТдоС государство само опрСдСляСт ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ срСдства ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Π’ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдусмотрСна Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ издания Π·Π°ΠΊΠΎΠ½Π° ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ Π°ΠΊΡ‚Π° для Π΅Π³ΠΎ осущСствлСния. ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ

Π˜ΠœΠŸΠ›Π•ΠœΠ•ΠΠ’ΠΠ¦Π˜Π―

Rzeczownik имплСмСнтация f Informatyczny implementacja f

Π˜ΠœΠŸΠ›Π•ΠœΠ•ΠΠ’ΠΠ¦Π˜Π―

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

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

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