Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ абстракция Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹ абстракции ΠΈ интСрфСйсы

И Ρ‡Ρ‚ΠΎ это Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ‚Π°ΠΊΠΎΠ΅?

Как Π² старом Π°Π½Π΅ΠΊΠ΄ΠΎΡ‚Π΅: ΠΏΡ€ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ просто ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π»ΠΈΠ±ΠΎ слоТно ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. ΠœΡ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ аспСкт ООП просто.

Π—Π°Ρ‡Π΅ΠΌ это: ООП β€” ΠΎΠ΄Π½Π° ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ соврСмСнной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Она ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ° Π½Π΅ ΠΊ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ языкам, это скорСС способ ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Если Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ ООП, ваш ΠΊΠΎΠ΄ Π½Π° любом языкС Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡ΠΈΡ‰Π΅, Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠ΅Π΅ ΠΈ эффСктивнСС.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ Π΄Π²Π° слоТных понятия ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования: абстракции ΠΈ интСрфСйсы. Π­Ρ‚ΠΎ Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π° ΡΡ‚ΡƒΠΏΠ΅Π½ΡŒ Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ нСпостиТимого.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΈΠ΄Π΅ΠΈ ΠΈΠ· ООП

Абстракция

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ попросили Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ΠΎΠ±Ρ‰ΠΈΡ… Ρ‡Π΅Ρ€Ρ‚Π°Ρ…, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ ΠΈ ΠΊΠ°ΠΊ ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ: ΠΏΡƒΡΡ‚ΡŒ это Π±ΡƒΠ΄ΡƒΡ‚ Π±Π°Π±ΡƒΡˆΠΊΠ°, ΠΌΠ°ΠΌΠ° ΠΈ ΠΏΠΎΠ΄Ρ€ΡƒΠ³Π°. Π‘Π°Π±ΡƒΡˆΠΊΠ° вспомнит ΠΏΡ€ΠΎ дисковыС Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹ ΠΈ Ρ‚Ρ€ΡƒΠ±ΠΊΠΈ с Π²ΠΈΡ‚Ρ‹ΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠΌ. Мама расскаТСт ΠΏΡ€ΠΎ Ρ€Π°Π΄ΠΈΠΎΡ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ Π±Π°Π·Π° ΠΈ Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΡƒΠ±ΠΊΠ°, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ всСй ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€Π΅, Π° ΠΏΠΎΠ΄Ρ€ΡƒΠ³Π° Π½Π°Ρ‡Π½Ρ‘Ρ‚ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ мобильник.

НСсмотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ рассказы Π±ΡƒΠ΄ΡƒΡ‚ сильно ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ собой, Ρƒ Π½ΠΈΡ… Π±ΡƒΠ΄Π΅Ρ‚ нСсколько ΠΎΠ±Ρ‰ΠΈΡ… ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΎ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½:

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Ссли ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ абстрактный Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½, Ρ‚ΠΎ получится Ρ‚Π°ΠΊΠΎΠ΅ устройство с Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΎΠΌ, ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½ΠΎΠΌ ΠΈ срСдством Π½Π°Π±ΠΎΡ€Π° Π½ΠΎΠΌΠ΅Ρ€Π°.

Π­Ρ‚ΠΎ ΠΈ Π΅ΡΡ‚ΡŒ абстракция: ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ описываСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самыС сущСствСнныС Π΄Π΅Ρ‚Π°Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΆΠ½Ρ‹ для Π·Π°Π΄Π°Ρ‡ΠΈ. Π’ нашСм случаС Π·Π°Π΄Π°Ρ‡Π° такая β€” ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ ΠΈ ΠΊΠ°ΠΊ ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊ для этой Π·Π°Π΄Π°Ρ‡ΠΈ Π²Π°ΠΆΠ΅Π½, Π° способ связи Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° с ΡΠ΅Ρ‚ΡŒΡŽ β€” Π½Π΅Ρ‚. Устройство Π½Π°Π±ΠΎΡ€Π° Π½ΠΎΠΌΠ΅Ρ€Π° Π²Π°ΠΆΠ½ΠΎ, Π° Ρ‚ΠΎ, какая мСлодия ΠΈΠ³Ρ€Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ β€” Π½Π΅Ρ‚.

🔥 Абстракция β€” это ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ сосрСдотачиваСмся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° сущСствСнных для Π·Π°Π΄Π°Ρ‡ΠΈ дСталях ΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌ всё ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅. Π’ ООП абстракция ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΡ‹ Π·Π°Π΄Π°Ρ‘ΠΌ минимальноС количСство ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΏΠΎΠ»Π΅ΠΉ ΠΈ описаний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ позволят Π½Π°ΠΌ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ. Π§Π΅ΠΌ мСньшС характСристик, Ρ‚Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ абстракция, Π½ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ характСристики ΡƒΠ±ΠΈΡ€Π°Ρ‚ΡŒ нСльзя.

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с абстракциями, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ интСрфСйсы.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ

Π˜Ρ‚Π°ΠΊ, Ρƒ нас Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΠ΅ устройство с Ρ‚Ρ€ΡƒΠ±ΠΊΠΎΠΉ, ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½ΠΎΠΌ, Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΎΠΌ ΠΈ срСдством Π½Π°Π±ΠΎΡ€Π° Π½ΠΎΠΌΠ΅Ρ€Π°. Но Ссли Π²Ρ‹ вспомнитС рассказы ΠΌΠ°ΠΌΡ‹, Π±Π°Π±ΡƒΡˆΠΊΠΈ ΠΈ ΠΏΠΎΠ΄Ρ€ΡƒΠ³ΠΈ, Ρ‚ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅ Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ:

Всё это β€” интСрфСйсы. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, Π½Π΅ вникая Π² Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ устроСн Π²Π½ΡƒΡ‚Ρ€ΠΈ. Если Π²Ρ‹ ΡƒΠΌΠ΅Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с интСрфСйсом номСронабиратСля, Ρ‚ΠΎ Π²Π°ΠΌ всё Ρ€Π°Π²Π½ΠΎ, Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ ΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ диск, Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ физичСскиС ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° Ρ€Π°Π΄ΠΈΠΎΡ‚Ρ€ΡƒΠ±ΠΊΠ΅ ΠΈΠ»ΠΈ Π΄Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Π»ΡŒΡ†Π΅ΠΌ Π½Π° сСнсорный экран.

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

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ β€” это дСйствия Π½Π°Π΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, доступныС Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ (поэтому ΠΎΠ½ΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ).

Π•ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ инкапсулированныС, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. НапримСр, Ρƒ ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½Π° Π΅ΡΡ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Β«Π‘Π»ΡƒΡˆΠ°Ρ‚ΡŒ голос», ΠΈ Π΅ΡΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Β«ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ голос Π² элСктричСскиС сигналы». Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ½ взаимодСйствуСт с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ частями нашСго абстрактного Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°. ΠŸΡ€ΠΎ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡŽ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π», ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΌΠ° большая.

БлоТная тСрминология

Π‘Ρ‚Ρ€ΠΎΠ³ΠΎ говоря, интСрфСйсы β€” это Π½Π΅ дСйствия, Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. БСйчас объясним.

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΅ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ β€” это ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ дСйствия, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ.

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

На языкС ООП Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, привязанныС ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ. ΠŸΡ€ΠΎΡΡ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½. По сути это Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ склССнныС вмСстС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

Π˜Ρ‚ΠΎΠ³ΠΎ: ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” это Π½Π°Π±ΠΎΡ€ простых дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ склСили Π² Π΅Π΄ΠΈΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ ΠΈ засунули Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

Для Ρ‡Π΅Π³ΠΎ это всё

Допустим, Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π½Π°Π΄ большим ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° мноТСство ΠΌΠ΅Π»ΠΊΠΈΡ… ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ сСрвисов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π΅ΡˆΠ°Π΅Ρ‚ свою ΡƒΠ·ΠΊΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ.

Если Π·Π°Ρ€Π°Π½Π΅Π΅ Π½Π΅ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒΡΡ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ эти ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ собой, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎ, ΠΎ Ρ‡Ρ‘ΠΌ ΠΌΡ‹ ΡƒΠΆΠ΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Π»ΠΈ:

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Ρ‚Π°ΠΊ:

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

ООП с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ (Ρ‡Π°ΡΡ‚ΡŒ 1)

Π’ΠΎΠ»Π΅ΡŽ ΡΡƒΠ΄ΡŒΠ±Ρ‹ ΠΌΠ½Π΅ приходится Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ спСцкурс ΠΏΠΎ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π°ΠΌ проСктирования Π² Π²ΡƒΠ·Π΅. БпСцкурс ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, поэтому, студСнты ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ ΠΊΠΎ ΠΌΠ½Π΅ самыС Ρ€Π°Π·Π½Ρ‹Π΅. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π΅ΡΡ‚ΡŒ срСди Π½ΠΈΡ… ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΡŽΡ‰ΠΈΠ΅ программисты. Но, ΠΊ соТалСнию, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΡΠΏΡ‹Ρ‚Ρ‹Π²Π°ΡŽΡ‚ затруднСния Π΄Π°ΠΆΠ΅ с ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ основных Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ² ООП.

Для этого я постарался Π½Π° Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΠΆΠΈΠ²Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ понятия ООП (класс, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, интСрфСйс, абстракция, инкапсуляция, наслСдованиС ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ).

ΠŸΠ΅Ρ€Π²Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ, прСдставлСнная Π½ΠΈΠΆΠ΅, посвящСна классам, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ ΠΈ интСрфСйсам.
Вторая Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡŽ, ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ ΠΈ наслСдованиС

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ понятия ООП

Класс

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

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

Класс – это способ описания сущности, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ состояниС ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, зависящСС ΠΎΡ‚ этого состояния, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° для взаимодСйствия с Π΄Π°Π½Π½ΠΎΠΉ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒΡŽ (ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚).

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния программирования класс ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… (ΠΏΠΎΠ»Π΅ΠΉ, Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², Ρ‡Π»Π΅Π½ΠΎΠ² класса) ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌΠΈ (ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²).

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния структуры ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, класс являСтся слоТным Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ….

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

Π’ дальнСйшСм, нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ слово Β«ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΒ» ассоциируСтся с пасьянсом Β«ΠšΠΎΡΡ‹Π½ΠΊΠ°Β» ΠΈ Β«Microsoft WordΒ», ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ Ρ‚Π΅Ρ… программистов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ваш класс, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ вас самих. Π§Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ класса, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚

Π’Ρ‹ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΡ‚Ρ€ΡƒΠ΄ΠΈΠ»ΠΈΡΡŒ ΠΈ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ вашим Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠ°ΠΌ, сходят с ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°. Π’ΠΎΡ‚ ΠΎΠ½ΠΈ, стоят Ρ€ΠΎΠ²Π½Ρ‹ΠΌΠΈ рядами Π½Π° заводском Π΄Π²ΠΎΡ€Π΅. КаТдая ΠΈΠ· Π½ΠΈΡ… Ρ‚ΠΎΡ‡Π½ΠΎ повторяСт ваши Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠΈ. ВсС систСмы Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ‹ спроСктировали. Но каТдая машина ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Π°. Они всС ΠΈΠΌΠ΅ΡŽΡ‚ Π½ΠΎΠΌΠ΅Ρ€ ΠΊΡƒΠ·ΠΎΠ²Π° ΠΈ двигатСля, Π½ΠΎ всС эти Π½ΠΎΠΌΠ΅Ρ€Π° Ρ€Π°Π·Π½Ρ‹Π΅, Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Ρ†Π²Π΅Ρ‚ΠΎΠΌ, Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°ΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π»ΠΈΡ‚ΡŒΡ‘ вмСсто ΡˆΡ‚Π°ΠΌΠΏΠΎΠ²Π°Π½Π½Ρ‹Ρ… дисков. Π­Ρ‚ΠΈ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ, ΠΏΠΎ сути, ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ вашСго класса.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ (экзСмпляр) – это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ класса, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ состояниС ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ опрСдСляСмоС классом.

Говоря простым языком, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ значСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ с этими значСниями Π½Π° основС ΠΏΡ€Π°Π²ΠΈΠ», Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Π² классС. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Ссли класс – это Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ абстрактный Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ ΠΈΠ· Β«ΠΌΠΈΡ€Π° ΠΈΠ΄Π΅ΠΉΒ», Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ – это ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ, стоящий Ρƒ вас ΠΏΠΎΠ΄ ΠΎΠΊΠ½Π°ΠΌΠΈ.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ

Когда ΠΌΡ‹ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Ρƒ с ΠΊΠΎΡ„Π΅ ΠΈΠ»ΠΈ садимся Π·Π° Ρ€ΡƒΠ»ΡŒ, ΠΌΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ взаимодСйствиС с Π½ΠΈΠΌΠΈ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, взаимодСйствиС происходит с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° элСмСнтов: Ρ‰Π΅Π»ΡŒ для ΠΏΡ€ΠΈΡ‘ΠΌΠΊΠΈ ΠΌΠΎΠ½Π΅Ρ‚ΠΎΠΊ, ΠΊΠ½ΠΎΠΏΠΊΠ° Π²Ρ‹Π±ΠΎΡ€Π° Π½Π°ΠΏΠΈΡ‚ΠΊΠ° ΠΈ отсСк Π²Ρ‹Π΄Π°Ρ‡ΠΈ стакана Π² ΠΊΠΎΡ„Π΅ΠΉΠ½ΠΎΠΌ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π΅; Ρ€ΡƒΠ»ΡŒ, ΠΏΠ΅Π΄Π°Π»ΠΈ, Ρ€Ρ‹Ρ‡Π°Π³ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ Π² Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅. ВсСгда сущСствуСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ элСмСнтов управлСния, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ – это Π½Π°Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса, доступных для использования Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ классами.

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

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

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ абстракция Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (ООП) β€” мСтодология программирования, основанная Π½Π° прСдставлСнии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π²ΠΈΠ΄Π΅ совокупности ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… являСтся экзСмпляром ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ класса, Π° классы ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ наслСдования.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° считаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ всС Ρ‚Ρ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… трСбования. Π’ частности, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π΅ наслСдованиС, называСтся Π½Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ, Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ абстрактных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†Ρ‹ΠΏΡ‹ ООП.

Π­Ρ‚ΠΎ СдинствСнно Π²Π΅Ρ€Π½Ρ‹ΠΉ порядок ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌ ООП, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ каТдая ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ «инкапсуляция»?

Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ – это свойство систСмы, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ с Π½ΠΈΠΌΠΈ, Π² классС ΠΈ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΎΡ‚ΠΊΡ€Ρ‹Π² Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ использовании.

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ «наслСдованиС»?

НаслСдованиС – это свойство систСмы, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ класс Π½Π° основС ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ с частично ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΈΠΌΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ.

Класс, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ производится наслСдованиС, называСтся ΠΏΡ€Π΅Π΄ΠΊΠΎΠΌ, Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ ΠΈΠ»ΠΈ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ. Новый класс – ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠΌ, наслСдником ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΌ классом.

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ – это свойство систСмы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ интСрфСйсом Π±Π΅Π· ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΈΠΏΠ΅ ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ структурС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

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

АбстрагированиС – это способ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ ΠΎΠ±Ρ‰ΠΈΡ… характСристик ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈΠ· рассмотрСния частныС ΠΈ Π½Π΅Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Π΅. БоотвСтствСнно, абстракция – это Π½Π°Π±ΠΎΡ€ всСх Ρ‚Π°ΠΊΠΈΡ… характСристик.

Π§Ρ‚ΠΎ прСдставляСт собой Β«ΠΎΠ±ΠΌΠ΅Π½ сообщСниями»?

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚, посылая ΠΈ получая сообщСния. Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ β€” это запрос Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ дСйствия, Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ дСйствия. Π’ ООП посылка сообщСния (Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π°) β€” это СдинствСнный ΠΏΡƒΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. Если ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Β«ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒΒ» Π½Π° это сообщСниС, Ρ‚ΠΎ Ρƒ Π½Π΅Π³ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒΡΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½ΠΎΠΌΡƒ ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄. Π’Π°ΠΊ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ свои ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΌΠΎΠ³ΡƒΡ‚ ΠΈ сами ΠΏΠΎΡΡ‹Π»Π°Ρ‚ΡŒ сообщСния Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ. ОбмСн сообщСниями рСализуСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ динамичСских Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΠΏΠΎΠ·Π΄Π½Π΅ΠΌΡƒ ΡΠ²ΡΠ·Ρ‹Π²Π°Π½ΠΈΡŽ (extreme late binding).

РасскаТитС ΠΏΡ€ΠΎ основныС понятия ООП: «класс», Β«ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Β», «интСрфСйс».

Класс – это способ описания сущности, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ состояниС ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, зависящСС ΠΎΡ‚ этого состояния, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° для взаимодСйствия с Π΄Π°Π½Π½ΠΎΠΉ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒΡŽ (ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚).

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния программирования класс ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… (ΠΏΠΎΠ»Π΅ΠΉ, Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², Ρ‡Π»Π΅Π½ΠΎΠ² класса) ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌΠΈ (ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²).

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния структуры ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, класс являСтся слоТным Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ….

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ (экзСмпляр) – это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ класса, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ состояниС ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ опрСдСляСмоС классом. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ значСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ с этими значСниями Π½Π° основС ΠΏΡ€Π°Π²ΠΈΠ», Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Π² классС.

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

Π’ Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ прСимущСства ΠΈ нСдостатки ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ?

Π§Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ Π² ΠΏΠ»Π°Π½Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ООП выраТСния «являСтся» ΠΈ Β«ΠΈΠΌΠ΅Π΅Ρ‚Β»?

«являСтся» ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ наслСдованиС. Β«ΠΈΠΌΠ΅Π΅Ρ‚Β» ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Π°ΡΡΠΎΡ†ΠΈΠ°Ρ†ΠΈΡŽ (Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ).

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠ΅ΠΉ ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠ΅ΠΉ?

Ассоциация ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ связь ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. ΠšΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡ ΠΈ агрСгация β€” частныС случаи ассоциации Β«Ρ‡Π°ΡΡ‚ΡŒ-Ρ†Π΅Π»ΠΎΠ΅Β».

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ статичСскоС ΠΈ динамичСскоС связываниС?

ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΊ Ρ‚Π΅Π»Ρƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° называСтся связываниСм. Если связываниС проводится компилятором (ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠΌ) ΠΏΠ΅Ρ€Π΅Π΄ запуском ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚ΠΎ ΠΎΠ½ΠΎ называСтся статичСским ΠΈΠ»ΠΈ Ρ€Π°Π½Π½ΠΈΠΌ связываниСм (early binding).

Π’ свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΏΠΎΠ·Π΄Π½Π΅Π΅ связываниС (late binding) это связываниС, ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌΠΎΠ΅ нСпосрСдствСнно Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ПозднСС связываниС Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ динамичСским (dynamic) ΠΈΠ»ΠΈ связываниСм Π½Π° стадии выполнСния (runtime binding). Π’ языках, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ·Π΄Π½Π΅Π΅ связываниС, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ опрСдСлСния фактичСского Ρ‚ΠΈΠΏΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, для Π²Ρ‹Π·ΠΎΠ²Π° подходящСго ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. Π˜Π½Π°Ρ‡Π΅ говоря, компилятор Π½Π΅ Π·Π½Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π½ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² опрСдСляСт Π΅Π³ΠΎ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Ρ‚Π΅Π»ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠ·Π΄Π½Π΅Π³ΠΎ связывания зависит ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ языка, Π½ΠΎ Π½Π΅Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ для Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ какая-Ρ‚ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация.

Для всСх ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠ·Π΄Π½Π΅Π³ΠΎ (динамичСского) связывания, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ Π±Ρ‹Π» объявлСн ΠΊΠ°ΠΊ final (ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ final ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ).

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

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ «абстракция» ΠΈ понятиС «объявлСниС»

Π£ мСня Π΅ΡΡ‚ΡŒ сомнСния насчСт примСнСния этих Π΄Π²ΡƒΡ… понятий Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΡŽΡ‡Π΅.
Π§Ρ‚ΠΎ Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅?

3 ΠΎΡ‚Π²Π΅Ρ‚Π° 3

Если Π·Π°ΠΉΡ‚ΠΈ Π½Π° Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡŽ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ Абстракция Π΄Π°Π½Π½Ρ‹Ρ…, Π³Π΄Π΅ ΠΎΠ½ΠΎ опрСдСляСтся ΠΊΠ°ΠΊ

Абстра́кция Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ β€” это использованиС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅Ρ… характСристик ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ с достаточной Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π΅Π³ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΉ систСмС. Основная идСя состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΡ€ΠΈ этом с достаточной Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ для Ρ€Π΅ΡˆΠ°Π΅ΠΌΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ.

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ ссылок Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ приводится ΡΡ‚Π°Ρ‚ΡŒΡ Π‘ΡŒΠ΅Ρ€Π½ Бтрауструп β€” Абстракция Π΄Π°Π½Π½Ρ‹Ρ… Π² языкС Π‘++, Π³Π΄Π΅ понятиС Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ рассматриваСтся Π² контСкстС C++ ΠΈ опрСдСляСтся ΠΊΠ°ΠΊ

Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ идСя состоит Π² Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΈ нСсущСствСнных Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ характСристик сущСствСнных для для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Π΅Π΅ использования.

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ абстракция Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ абстракция Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ абстракция Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ абстракция Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ абстракция Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

ΠŸΠΎΠ³ΡƒΠ³Π»ΠΈΠ» толкования Π½Π° английском, ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… описаний:

Abstraction is one of the key concepts of object-oriented programming (OOP) languages. Its main goal is to handle complexity by hiding unnecessary details from the user.

Абстракция это ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… понятий Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ (ООП), Ρ‡ΡŒΡ‘ основноС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ – ΠΏΠΎΠΌΠΎΠ³Π°Ρ‚ΡŒ ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ со ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ скрывая Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Абстракция Ρ‚Π°ΠΊΠΆΠ΅ проявляСтся ΠΈ Π² наслСдовании с ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅/абстрактныС классы ΠΈΠ»ΠΈ интСрфСйсы, ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ Π»ΠΎΠ³ΠΈΠΊΡƒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ зная ΠΈΡ… Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.

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

ООП с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ (Ρ‡Π°ΡΡ‚ΡŒ 2)

Π’ΠΎΠ»Π΅ΡŽ ΡΡƒΠ΄ΡŒΠ±Ρ‹ ΠΌΠ½Π΅ приходится Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ спСцкурс ΠΏΠΎ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π°ΠΌ проСктирования Π² Π²ΡƒΠ·Π΅. БпСцкурс ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, поэтому, студСнты ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ ΠΊΠΎ ΠΌΠ½Π΅ самыС Ρ€Π°Π·Π½Ρ‹Π΅. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π΅ΡΡ‚ΡŒ срСди Π½ΠΈΡ… ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΡŽΡ‰ΠΈΠ΅ программисты. Но, ΠΊ соТалСнию, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΡΠΏΡ‹Ρ‚Ρ‹Π²Π°ΡŽΡ‚ затруднСния Π΄Π°ΠΆΠ΅ с ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ основных Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ² ООП.

Для этого я постарался Π½Π° Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΠΆΠΈΠ²Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ понятия ООП (класс, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, интСрфСйс, абстракция, инкапсуляция, наслСдованиС ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ).

ΠŸΠ΅Ρ€Π²Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ посвящСна классам, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ ΠΈ интСрфСйсам.
Вторая Ρ‡Π°ΡΡ‚ΡŒ, прСдставлСнная Π½ΠΈΠΆΠ΅, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡŽ, ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ ΠΈ наслСдованиС

Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ

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

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

Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ – это свойство систСмы, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ с Π½ΠΈΠΌΠΈ, Π² классС ΠΈ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈ
Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ Π½Π΅Ρ€Π°Π·Ρ€Ρ‹Π²Π½ΠΎ связана с понятиСм интСрфСйса класса. По сути, всё Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² интСрфСйс, инкапсулируСтся Π² классС.

Абстракция

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

АбстрагированиС – это способ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Ρ… характСристик ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈΠ· рассмотрСния Π½Π΅Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Π΅. БоотвСтствСнно, абстракция – это Π½Π°Π±ΠΎΡ€ всСх Ρ‚Π°ΠΊΠΈΡ… характСристик.

Если Π±Ρ‹ для модСлирования повСдСния автомобиля ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ химичСский состав краски ΠΊΡƒΠ·ΠΎΠ²Π° ΠΈ ΡƒΠ΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‚Π΅ΠΏΠ»ΠΎΡ‘ΠΌΠΊΠΎΡΡ‚ΡŒ Π»Π°ΠΌΠΏΠΎΡ‡ΠΊΠΈ подсвСтки Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ², ΠΌΡ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π±Ρ‹ Π½Π΅ ΡƒΠ·Π½Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ NFS.

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ

Π›ΡŽΠ±ΠΎΠ΅ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ воТдСнию Π½Π΅ ΠΈΠΌΠ΅Π»ΠΎ Π±Ρ‹ смысла, Ссли Π±Ρ‹ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, Π½Π°ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉΡΡ Π²ΠΎΠ΄ΠΈΡ‚ΡŒ, скаТСм, ВАЗ 2106 Π½Π΅ ΠΌΠΎΠ³ ΠΏΠΎΡ‚ΠΎΠΌ Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ВАЗ 2110 ΠΈΠ»ΠΈ BMW X3. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ смог Π±Ρ‹ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ пСдаль Π³Π°Π·Π° находится Π»Π΅Π²Π΅Π΅ ΠΏΠ΅Π΄Π°Π»ΠΈ Ρ‚ΠΎΡ€ΠΌΠΎΠ·Π°, Π° вмСсто руля – дТойстик.

Всё Π΄Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ основныС элСмСнты управлСния автомобиля ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ дСйствия. Π’ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π½Π°Π»Π΅Π²ΠΎ, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ€ΡƒΠ»ΡŒ, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΌ Π³ΠΈΠ΄Ρ€ΠΎΡƒΡΠΈΠ»ΠΈΡ‚Π΅Π»ΡŒ ΠΈΠ»ΠΈ Π½Π΅Ρ‚.
Если Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ Π½Π°Π΄ΠΎ Π΄ΠΎΠ΅Ρ…Π°Ρ‚ΡŒ с Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄ΠΎ Π΄ΠΎΠΌΠ°, Ρ‚ΠΎ ΠΎΠ½ сядСт Π·Π° Ρ€ΡƒΠ»ΡŒ автомобиля ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ дСйствия, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΈΠΏ автомобиля ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚. По сути, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ всС Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ интСрфСйс, Π° Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ, Π°Π±ΡΡ‚Ρ€Π°Π³ΠΈΡ€ΡƒΡΡΡŒ ΠΎΡ‚ сущности автомобиля, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ с этим интСрфСйсом. Если Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŽ прСдстоит Π΅Ρ…Π°Ρ‚ΡŒ ΠΏΠΎ Π½Π΅ΠΌΠ΅Ρ†ΠΊΠΎΠΌΡƒ Π°Π²Ρ‚ΠΎΠ±Π°Π½Ρƒ, ΠΎΠ½, вСроятно Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ быстрый Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ с Π½ΠΈΠ·ΠΊΠΎΠΉ посадкой, Π° Ссли прСдстоит Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΈΠ· ΠΎΡ‚Π΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°Ρ€Π°Π»ΡŒΠ½ΠΈΠΊΠ° Π² Π“ΠΎΡ€Π½ΠΎΠΌ АлтаС послС доТдя, скорСС всСго, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½ УАЗ с армСйскими мостами. Но, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, интСрфСйс останСтся ΠΏΡ€Π΅ΠΆΠ½ΠΈΠΌ.

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ – это свойство систСмы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ интСрфСйсом Π±Π΅Π· ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΈΠΏΠ΅ ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ структурС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

НапримСр, Ссли Π²Ρ‹ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°, Ρ‚ΠΎ, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π² классС, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ: byte[] readBytes( int n );
ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π΅ ΠΆΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· сокСта. Π’ классС, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΌ сокСт, Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ readBytes. Достаточно Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² вашСй систСмС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ класса, ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ достигнут.

ΠŸΡ€ΠΈ этом Π»ΠΎΠ³ΠΈΠΊΠ° систСмы ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π±ΡƒΠ΄ΡƒΡ‚ Π»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Ρ‹ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ ΠΏΠΎ сСти. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ абстрагируСмся ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ спСциализации получСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ интСрфСйса. ЕдинствСнноС Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ этом – Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠΌΠ΅Π» ΠΌΠ΅Ρ‚ΠΎΠ΄ readBytes.

НаслСдованиС

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ сСбя, Π½Π° ΠΌΠΈΠ½ΡƒΡ‚Ρƒ, ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌΠΈ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π°Π²ΠΎΠ΄Π°. НашСй Π·Π°Π΄Π°Ρ‡Π΅ΠΉ являСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° соврСмСнного автомобиля. Π£ нас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ прСдыдущая модСль, которая ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Π·Π°Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π»Π° сСбя Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ»Π΅Ρ‚Π½Π΅Π³ΠΎ использования. Всё Π±Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π° ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ, Π° наш соврСмСнный Π·Π°Π²ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Ρ‚ΡŒ удобство ΠΈ ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚ выпускаСмой ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΈ ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ соврСмСнным стандартам.

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

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

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

Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π² нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ произвСсти с Π½ΠΎΠ²Ρ‹ΠΌΠΈ автомобилями всС Ρ‚Π΅ ΠΆΠ΅ дСйствия, Ρ‡Ρ‚ΠΎ ΠΈ со старым: ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ сигнал ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π°. Однако, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρƒ нас Π±Ρ‹ появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ‚ΡƒΠΌΠ°Π½Π½Ρ‹Π΅ Ρ„ΠΎΠ½Π°Ρ€ΠΈ.

ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ ΠΎΡ‚ старой ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ дСйствия, ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ‚ΡƒΠΌΠ°Π½ΠΎΠΊ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… просто Π½Π΅Ρ‚ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ).

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

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

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