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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «Ѐилософия Java3Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 5

Автор Π‘Ρ€ΡŽΡ ЭккСль

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

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

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ наслСдованиС ΠΎΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ°, Π²Ρ‹ создаСтС Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ. Π­Ρ‚ΠΎΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ содСрТит всС Ρ‡Π»Π΅Π½Ρ‹ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ° (хотя Ρ‡Π»Π΅Π½Ρ‹, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ private, скрыты ΠΈ нСдоступны), Π½ΠΎ ΠΈ, Ρ‡Ρ‚ΠΎ Π΅Ρ‰Π΅ Π²Π°ΠΆΠ½Π΅Π΅, повторяСт интСрфСйс Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса. Π—Π½Π°Ρ‡ΠΈΡ‚, всС сообщСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΡΡ‹Π»Π°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²ΠΎΠΌΡƒ классу, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΏΡ€Π°Π²Π΅ ΠΏΠΎΡΡ‹Π»Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΌΡƒ классу. А Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π°Π΅ΠΌ Ρ‚ΠΈΠΏΡ‹ классов ΠΏΠΎ совокупности сообщСний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠΌ ΠΏΠΎΡΡ‹Π»Π°Ρ‚ΡŒ, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΉ класс являСтся частным случаСм Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса. Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Β«ΠΎΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΡŒ Π΅ΡΡ‚ΡŒ Ρ„ΠΈΠ³ΡƒΡ€Π°Β». Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠΎΠ², достигаСмая ΠΏΡ€ΠΈ наслСдовании, являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΡ… условий понимания смысла ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования.

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

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

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

Для замСщСния ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½ΡƒΠΆΠ½ΠΎ просто ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΌ классС. Π’Ρ‹ ΠΊΠ°ΠΊ Π±Ρ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅: Β«Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ интСрфСйса, Π½ΠΎ Ρ…ΠΎΡ‡Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ выполнял Π΄Ρ€ΡƒΠ³ΠΈΠ΅ дСйствия для ΠΌΠΎΠ΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°Β».

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ «являСтся» Π² сравнСнии с Β«ΠΏΠΎΡ…ΠΎΠΆΠ΅Β»

ΠŸΡ€ΠΈ использовании наслСдования встаСт ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ вопрос: слСдуСт Π»ΠΈ ΠΏΡ€ΠΈ наслСдовании ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса (ΠΈ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ классС)? Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π»ΠΎ Π±Ρ‹, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ Ρ‚ΠΈΠΏΠ°, ΠΊΠ°ΠΊ ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ интСрфСйс. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ свободно Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… классов. МоТно Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ Π·Π°ΠΌΠ΅Π½Π΅, ΠΈ это часто называСтся ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠΌ Π·Π°ΠΌΠ΅Π½Ρ‹. Π’ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ смыслС это способ наслСдования ΠΈΠ΄Π΅Π°Π»Π΅Π½. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ взаимосвязи Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ классов часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ связью «являСтся Ρ‚Π΅ΠΌ-Ρ‚ΠΎΒ», ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Β«ΠΊΡ€ΡƒΠ³ Π΅ΡΡ‚ΡŒ Ρ„ΠΈΠ³ΡƒΡ€Π°Β». Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, насколько умСстным Π±ΡƒΠ΄Π΅Ρ‚ наслСдованиС, достаточно ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, сущСствуСт Π»ΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ «являСтся» ΠΌΠ΅ΠΆΠ΄Ρƒ классами ΠΈ насколько ΠΎΠ½ΠΎ ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π½ΠΎ.

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

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ваш Π΄ΠΎΠΌ снабТСн всСм Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ для контроля процСсса охлаТдСния. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½Π΄ΠΈΡ†ΠΈΠΎΠ½Π΅Ρ€ сломался ΠΈ Π²Ρ‹ Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΎΠ±ΠΎΠ³Ρ€Π΅Π²Π°Ρ‚Π΅Π»Π΅ΠΌ, способным ΠΊΠ°ΠΊ Π½Π°Π³Ρ€Π΅Π²Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΈ ΠΎΡ…Π»Π°ΠΆΠ΄Π°Ρ‚ΡŒ. ΠžΠ±ΠΎΠ³Ρ€Π΅Π²Π°Ρ‚Π΅Π»ΡŒ Β«ΠΏΠΎΡ…ΠΎΠΆ Π½Π°Β» ΠΊΠΎΠ½Π΄ΠΈΡ†ΠΈΠΎΠ½Π΅Ρ€, Π½ΠΎ ΠΎΠ½ способСн ΠΈ Π½Π° большСС. Π’Π°ΠΊ ΠΊΠ°ΠΊ систСма управлСния вашСго Π΄ΠΎΠΌΠ° способна ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ…Π»Π°ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΎΠ½Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° Π² коммуникациях с ΠΎΡ…Π»Π°ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π±Ρ‹Π» Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½, Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ систСма Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΡ€ΠΈΠ·Π½Π°Π΅Ρ‚, ΠΊΡ€ΠΎΠΌΠ΅ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ интСрфСйса.

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

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

ВзаимозамСняСмыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ

ΠŸΡ€ΠΈ использовании ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΉ Ρ‚ΠΈΠΏΠΎΠ² часто приходится ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΊΠ°ΠΊ с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ. Π­Ρ‚ΠΎ позволяСт ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π½Π΅ зависящий ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². Π’Π°ΠΊ, Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ с Ρ„ΠΈΠ³ΡƒΡ€Π°ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ просто Ρ„ΠΈΠ³ΡƒΡ€Π°ΠΌΠΈ, Π½Π΅ обращая внимания Π½Π° Ρ‚ΠΎ, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π»ΠΈ ΠΎΠ½ΠΈ окруТностями, ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°ΠΌΠΈ, Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π΅Ρ‰Π΅ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π°ΠΌΠΈ. ВсС Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ нарисованы, стСрты ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½Ρ‹, Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ просто ΠΏΠΎΡΡ‹Π»Π°ΡŽΡ‚ сообщСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Β«Ρ„ΠΈΠ³ΡƒΡ€Π°Β»; ΠΈΠΌ Π±Π΅Π·Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ обойдСтся с этим сообщСниСм.

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

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

Если Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° выполняСтся, Ρ‚ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ добавляСтС Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ‚ΠΈΠΏ, ΠΊΠΎΠ΄ Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ, Π½ΠΎ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ‚ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ½ Π±Ρ‹Π» Π²Ρ‹Π·Π²Π°Π½. Если компилятор Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠΎΠ΄ слСдуСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚? Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ BirdController (ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ‚ΠΈΡ†Π΅ΠΉ) ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Bird (ΠΏΡ‚ΠΈΡ†Π°), Π½Π΅ зная Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния BirdController это ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ для Π½Π΅Π³ΠΎ Π½Π΅ придСтся ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Bird для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ особого повСдСния. Как ΠΆΠ΅ всС-Ρ‚Π°ΠΊΠΈ происходит, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° move() Π±Π΅Π· указания Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Bird исполняСтся Π²Π΅Ρ€Π½ΠΎΠ΅ дСйствиС β€” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Goose (Π³ΡƒΡΡŒ) Π±Π΅ΠΆΠΈΡ‚, Π»Π΅Ρ‚ΠΈΡ‚ ΠΈΠ»ΠΈ ΠΏΠ»Ρ‹Π²Π΅Ρ‚, Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Penguin (ΠΏΠΈΠ½Π³Π²ΠΈΠ½) Π±Π΅ΠΆΠΈΡ‚ ΠΈΠ»ΠΈ ΠΏΠ»Ρ‹Π²Π΅Ρ‚?