ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

ГСнСтичСский ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ являСт собой состояниС, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ отмСчаСтся явноС Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ Π³Π΅Π½ΠΎΠ², Π½ΠΎ нСсмотря Π½Π° это частота Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ распространённого Π³Π΅Π½Π° Π² популяции Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ 1% ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° происходит благодаря постоянного ΠΏΠ΅Ρ€Π΅-комбинирования ΠΈ мутирования Π³Π΅Π½ΠΎΠ². Богласно Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ послСдних исслСдований, ΠΏΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Ρ… ΡƒΡ‡Π΅Π½Ρ‹ΠΌΠΈ-Π³Π΅Π½Π΅Ρ‚ΠΈΠΊΠ°ΠΌΠΈ, гСнСтичСский ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ ΠΈΠΌΠ΅Π΅Ρ‚ вСсьма ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Ρ‘Π½Π½ΠΎΡΡ‚ΡŒ, вСдь ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π³Π΅Π½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ².

ΠœΡƒΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π³Π΅Π½ΠΎΠ²

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

Π€ΠΎΡ‚ΠΎ: Π”ΠΠš. Автор: vchal/shutterstock

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

ВсС ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ принято ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹:

Π³Π΅Π½Π½Ρ‹Π΅ – приводящиС ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π°ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½ΡƒΠΊΠ»Π΅ΠΎΡ‚ΠΈΠ΄ΠΎΠ² Π”ΠΠš Π² ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Π³Π΅Π½Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ измСнСниям Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ Π² РНК ΠΈ Π² Π±Π΅Π»ΠΊΠ΅, ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ Π³Π΅Π½ΠΎΠΌ. Π“Π΅Π½Π½Ρ‹Π΅ мутирования Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° 2 ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ рСцСссивныС ΠΈ Π΄ΠΎΠΌΠΈΠ½Π°Π½Ρ‚Π½Ρ‹ΠΌΠΈ. Π”Π°Π½Π½Ρ‹ΠΉ Π²ΠΈΠ΄ ΠΌΡƒΡ‚Π°Ρ†ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΆΠΈΠ·Π½Π΅Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΆΠΈΠ²ΠΎΠ³ΠΎ сущСства.

Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΌΡƒΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ отраТаСтся Π½Π° ΠΏΠΎΠ»ΠΎΠ²Ρ‹Ρ… ΠΊΠ»Π΅Ρ‚ΠΊΠ°Ρ… ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΡΠ΅ΠΊΡΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅;

соматичСскоС ΠΌΡƒΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ отраТаСтся Π½Π° ΠΏΠΎΠ»ΠΎΠ²Ρ‹Ρ… ΠΊΠ»Π΅Ρ‚ΠΊΠ°Ρ…, Ρƒ ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Ρ… ΠΈ людСй Π½Π΅ пСрСдаётся ΠΎΡ‚ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΊ дСтям, Π° Ρƒ растСний ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² случаС Π²Π΅Π³Π΅Ρ‚Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΈ;

Π³Π΅Π½ΠΎΠΌΠ½ΠΎΠ΅ ΠΌΡƒΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ отраТаСтся Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ числСнности хромосом Π² ΠΊΠ»Π΅Ρ‚ΠΎΡ‡Π½ΠΎΠΌ ΠΊΠ°Ρ€ΠΈΠΎΡ‚ΠΈΠΏΠ΅;

хромосомноС ΠΌΡƒΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ процСсс пСрСстройки структурности хромосом, измСнСния ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΡ… участков, происходящих ΠΈΠ·-Π·Π° Ρ€Π°Π·Ρ€Ρ‹Π²ΠΎΠ² Π»ΠΈΠ±ΠΎ Π²Ρ‹ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… участков.

К ΠΌΡƒΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π³Π΅Π½ΠΎΠ², Π°, Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΈ ΠΊ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡŽ распространённости Π½Π΅Π΄ΡƒΠ³ΠΎΠ² ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Π½Π°ΡΠ»Π΅Π΄ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρƒ ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ соврСмСнной ΠΆΠΈΠ·Π½ΠΈ:

Π’Π΅Ρ…Π½ΠΎΠ³Π΅Π½Π½Ρ‹Π΅ катастрофичСскиС ΠΏΡ€ΠΎΠΈΡΡˆΠ΅ΡΡ‚Π²ΠΈΡ;

ЗагрязнСниС экологичСской срСды (ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ пСстицидов, Π΄ΠΎΠ±Ρ‹Ρ‡Π° ΠΈ использованиС Π³ΠΎΡ€ΡŽΡ‡Π΅Π³ΠΎ, ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ срСдств Π±Ρ‹Ρ‚ΠΎΠ²ΠΎΠΉ Ρ…ΠΈΠΌΠΈΠΈ);

ИспользованиС лСкарствСнных срСдств ΠΈ ΠΏΠΈΡ‰Π΅Π²Ρ‹Ρ… Π΄ΠΎΠ±Π°Π²ΠΎΠΊ, Π²ΠΎΠ·Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π½Π° Π”ΠΠš ΠΈ РНК;

ΠŸΡ€ΠΈΡ‘ΠΌ Π² ΠΏΠΈΡ‰Ρƒ гСнСтичСски ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² питания;

Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅, постоянноС, Π»ΠΈΠ±ΠΎ особСнно сильноС ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ€Π°Π΄ΠΈΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΈΠ·Π»ΡƒΡ‡Π΅Π½ΠΈΠ΅.

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

Π’ΠΈΠ΄Ρ‹ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ°

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

Π€ΠΎΡ‚ΠΎ: хромосомы. Автор: Rost9/shutterstock

Π“Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ ΠΈ состояниС Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

Π€ΠΎΡ‚ΠΎ: соврСмСнный Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ. Автор: chombosan/shutterstock

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

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

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

Π“Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Ρ„Π°ΠΊΡ‚ΠΎΡ€Π° Π›Π΅ΠΉΠ΄Π΅Π½Π° FV Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΠ»ΠΎΠΆΠ½ΠΈΡ‚ΡŒ процСсс бСрСмСнности, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ способСн ΠΏΡ€ΠΎΠ²ΠΎΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΉ Π²Ρ‹ΠΊΠΈΠ΄Ρ‹Ρˆ ΠΈ ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ гСнСтичСских Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠΉ Ρƒ Π΅Ρ‰Ρ‘ Π½Π΅Ρ€ΠΎΠΆΠ΄Ρ‘Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅Π±Ρ‘Π½ΠΊΠ°. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ наступлСниС ΠΈΠ½Ρ„Π°Ρ€ΠΊΡ‚Π° Π»ΠΈΠ±ΠΎ ΠΈΠ½ΡΡƒΠ»ΡŒΡ‚Π° Π² юном возрастС Π»ΠΈΠ±ΠΎ ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ тромбоэмболии;

ΠœΡƒΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π³Π΅Π½ΠΎΠ² PAI-1 ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ противостоящСй ΡΠ²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΡŽ систСмы, ΠΏΠΎ этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π΅Π³ΠΎ принято ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Π°ΠΆΠ½Π΅ΠΉΡˆΠΈΡ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ протСкания процСсса свёртывания ΠΊΡ€ΠΎΠ²ΠΈ.

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

Когда Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π°Π²Π°Ρ‚ΡŒ ΠΊΡ€ΠΎΠ²ΡŒ с Ρ†Π΅Π»ΡŒΡŽ выявлСния гСнСтичСских Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠΉ?

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

Π€ΠΎΡ‚ΠΎ: Π‘Π΄Π°Ρ‡Π° Π°Π½Π°Π»ΠΈΠ·ΠΎΠ². Автор: Alexander Raths/shutterstock

Π˜ΠΌΠ΅Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ свСдСния ΠΎ прСдрасполоТСнности ΠΊ Ρ‚Π΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹ΠΌ гСнСтичСским заболСваниям рСкомСндуСтся ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚ Π±Π΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ знания ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π±Π΅ΡΡ†Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΈ Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ ускорСнного тромбобразования, ΠΈΠ½Ρ„Π°Ρ€ΠΊΡ‚ΠΎΠ², ΠΈΠ½ΡΡƒΠ»ΡŒΡ‚ΠΎΠ², ВЭЛА ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π½Π΅Π΄ΡƒΠ³ΠΎΠ². Однако Π½Π° сСгодняшний дСнь Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ своём гСнСтичСском Ρ„ΠΎΠ½Π΄Π΅ ΠΈΠ³Ρ€Π°Π΅Ρ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ кардиологичСских Π½Π΅Π΄ΡƒΠ³ΠΎΠ² ΠΈ Π² Π°ΠΊΡƒΡˆΠ΅Ρ€ΡΠΊΠΎΠΌ Π΄Π΅Π»Π΅.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π³Π΄Π΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° выявлСниС Ρ‚Ρ€ΠΎΠΌΠ±ΠΎΡ„ΠΈΠ»ΠΈΠΈ ΠΈ Π³Π΅ΠΌΠΎΡ„ΠΈΠ»ΠΈΠΈ ΠΈΠ³Ρ€Π°Π΅Ρ‚ ΠΎΡΠΎΠ±ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… случаях:

ΠŸΡ€ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ бСрСмСнности;

ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ патологичСских ослоТнСний Π²ΠΎ врСмя бСрСмСнности;

Π›Π΅Ρ‡Π΅Π½ΠΈΠΈ Π·Π°Π±ΠΎΠ»Π΅Π²Π°Π½ΠΈΠΉ сосудов, сСрдца, Π°Ρ€Ρ‚Π΅Ρ€ΠΈΠΉ ΠΈ Π²Π΅Π½;

ВыяснСнии ΠΏΡ€ΠΈΡ‡ΠΈΠ½ Π²Ρ‹ΠΊΠΈΠ΄Ρ‹ΡˆΠ΅ΠΉ;

ΠŸΡ€ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ ΠΊ ΠΏΠ»Π°Π½ΠΎΠ²Ρ‹ΠΌ опСрациям;

Π’ Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ онкологичСских Π½ΠΎΠ²ΠΎΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ;

ΠŸΡ€ΠΈ Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ Π³ΠΎΡ€ΠΌΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠΉ;

Π›ΠΈΡ†Π°ΠΌ, ΡΡ‚Ρ€Π°Π΄Π°ΡŽΡ‰ΠΈΠΌ ΠΎΠΆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ;

ΠŸΡ€ΠΈ Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ эндокринологичСских Π±ΠΎΠ»Π΅Π·Π½Π΅ΠΉ;

ΠŸΡ€ΠΈ нСобходимости ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€Π°Ρ†Π΅ΠΏΡ‚ΠΈΠ²Π½Ρ‹Π΅ составы;

Π›ΠΈΡ†Π°ΠΌ, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΌΡΡ особСнно тяТёлым физичСским Ρ‚Ρ€ΡƒΠ΄ΠΎΠΌ ΠΈ ΠΏΡ€.

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

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

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π½Π° сайтС Π½ΡƒΠΆΠ½Ρ‹ Ρ‚Ρ€ΠΈ Π²ΠΈΠ΄Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΉ β€” новости, объявлСния ΠΈ ΡΡ‚Π°Ρ‚ΡŒΠΈ. Π’ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΡ…ΠΎΠΆΠΈ β€” Ρƒ всСх Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΈ тСкст, Ρƒ новостСй ΠΈ объявлСний Π΅ΡΡ‚ΡŒ Π΄Π°Ρ‚Π°. Π’ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ ΠΎΠ½ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ β€” Ρƒ статСй Π΅ΡΡ‚ΡŒ Π°Π²Ρ‚ΠΎΡ€Ρ‹, Ρƒ новостСй β€” источники, Π° Ρƒ объявлСний β€” Π΄Π°Ρ‚Π°, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ΠΎ становится Π½Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ.

Π‘Π°ΠΌΡ‹Π΅ простыС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ приходят Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ β€” Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Ρ€ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… класса ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΈΠΌΠΈ. Или Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ класс, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄ΡƒΡ‚ всС свойства, присущиС всСм Ρ‚Ρ€Π΅ΠΌ Ρ‚ΠΈΠΏΠ°ΠΌ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΉ, Π° Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π±ΡƒΠ΄ΡƒΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅. Но вСдь для Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠΎ Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. Π”Π΅Π»Π°Ρ‚ΡŒ нСсколько ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² (get_news, get_announcements, get_articles) β€” это ΡƒΠΆΠ΅ совсСм Π½Π΅Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎ. Π’ΡƒΡ‚ Π½Π°ΠΌ ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ.

Абстрактный класс

Π“Ρ€ΡƒΠ±ΠΎ говоря, это класс-шаблон. Он Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ‚ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½Π° извСстна Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΆΠ΅ классы Π΅Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‚. Но, ΠΏΠΎΡ€Π° ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΎΡ‚ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΊ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. Π‘Ρ€Π°Π·Ρƒ ΠΎΠ³ΠΎΠ²ΠΎΡ€ΡŽΡΡŒ, рассматриваСтся ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с минимальной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. ВсС объяснСния β€” Π² коммСнтариях Π² ΠΊΠΎΠ΄Π΅.

// Π° этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡŽ, Π½ΠΎ ΠΌΡ‹ Π½Π΅ Π·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΈ ΠΏΠΎΡ‚ΠΎΠΌΡƒ объявляСм Π΅Π³ΠΎ абстрактным
abstract public function do_print ();
>

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ классы

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ созданию ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… классов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ± использовании

Π‘ΡƒΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΠ±ΡŒΠ΅ΠΊΡ‚ΠΎΠ² Ρ€Π°Π·Π½Ρ‹Ρ… классов.

Π’ΠΎΡ‚ ΠΈ всС. Π›Π΅Π³ΠΊΠΈΠΌ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ€ΡƒΠΊΠΈ Π±Ρ€ΡŽΠΊΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π² элСгантныС ΡˆΠΎΡ€Ρ‚Ρ‹ :-).

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

НСмного Ρ‚Π΅ΠΎΡ€ΠΈΠΈ

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

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ООП: инкапсуляция, наслСдованиС, ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ

Contents

Абстракция [ ]

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

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

Абстракция Π΄Π°Π½Π½Ρ‹Ρ… β€” популярная ΠΈ Π² ΠΎΠ±Ρ‰Π΅ΠΌ Π½Π΅Π²Π΅Ρ€Π½ΠΎ опрСдСляСмая Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° программирования. Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ идСя состоит Π² Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΈ нСсущСствСнных Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ характСристик сущСствСнных для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Π΅Π΅ использования. Π’Π°ΠΊΠΎΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ «интСрфСйс», ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚Π°Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ описаниС всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ [1].

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ‚Π΅ΠΎΡ€ΠΈΠΈ мноТСств, процСсс прСдставляСт собой ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ для Π³Ρ€ΡƒΠΏΠΏΡ‹ подмноТСств своСго мноТСства. Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅ Π—Π°ΠΊΠΎΠ½ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ содСрТаниСм ΠΈ объСмом понятия.

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

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

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· этот интСрфСйс. РСализуСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова: public.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. РСализуСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов: private, protected, internal.))

Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Ρ‘Ρ… Π²Π°ΠΆΠ½Π΅ΠΉΡˆΠΈΡ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования (наряду с абстракциСй, ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠΎΠΌ ΠΈ наслСдованиСм).

Π‘ΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ цСлСсообразно ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… случаях:

ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½Π°Ρ локализация ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ нСобходимости Ρ‚Π°ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ,

ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (ΠΊΠ°ΠΊΠΈΠ΅ измСнСния Π² ΠΊΠΎΠ΄Π΅ Π½Π°Π΄ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ для Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ измСнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ) ΠΈ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ послСдствий ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

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

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

Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, класс-наслСдник Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ класса (Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс). Π­Ρ‚ΠΎ позволяСт ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ класса-наслСдника Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса.

ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ наслСдованиС: [ ]

Класс, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ наслСдованиС, называСтся Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ ΠΈΠ»ΠΈ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ (Π°Π½Π³Π». base class). ΠšΠ»Π°ΡΡΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΈ ΠΎΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°ΠΌΠΈ, наслСдниками ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΌΠΈ классами (Π°Π½Π³Π». derived class).

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

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ΅ наслСдованиС [ ]

ΠŸΡ€ΠΈ мноТСствСнном наслСдовании Ρƒ класса ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π΄ΠΊΠ°. Π’ этом случаС класс наслСдуСт ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ всСх ΠΏΡ€Π΅Π΄ΠΊΠΎΠ². Достоинства Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π² большСй гибкости. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ΅ наслСдованиС Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π² C++. Из Π΄Ρ€ΡƒΠ³ΠΈΡ… языков, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… эту Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Python ΠΈ Π­ΠΉΡ„Π΅Π»ΡŒ. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ΅ наслСдованиС поддСрТиваСтся Π² языкС UML.

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ΅ наслСдованиС β€” ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ источник ошибок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΈΠ·-Π·Π° наличия ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… ΠΈΠΌΠ΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² ΠΏΡ€Π΅Π΄ΠΊΠ°Ρ…. Π’ языках, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ наслСдники C++ (Java, C# ΠΈ Π΄Ρ€.), ΠΎΡ‚ мноТСствСнного наслСдования Π±Ρ‹Π»ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ интСрфСйсов. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ всСгда ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· использования Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°. Однако, Ссли такая Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ всС-Ρ‚Π°ΠΊΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π°, Ρ‚ΠΎ, для Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² использования наслСдованных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ видимости β€” Β«::Β» β€” для Π²Ρ‹Π·ΠΎΠ²Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ родитСля.

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ наличия ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… ΠΈΠΌΠ΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² ΠΏΡ€Π΅Π΄ΠΊΠ°Ρ… Π±Ρ‹Π»Π° прСдпринята Π² языкС Π­ΠΉΡ„Π΅Π»ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈ описании Π½ΠΎΠ²ΠΎΠ³ΠΎ класса Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Ρ‡Π»Π΅Π½Ρ‹ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· наслСдуСмых классов ΠΈ ΠΈΡ… ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΌ классС.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ соврСмСнных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… языков программирования (C#, Java, Delphi ΠΈ Π΄Ρ€.) ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ класса-ΠΏΡ€Π΅Π΄ΠΊΠ° ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… интСрфСйсов ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ классом. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ позволяСт Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ мноТСствСнноС наслСдованиС β€” ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ интСрфСйсов Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ явно, Ρ‡Ρ‚ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ошибки ΠΏΡ€ΠΈ наслСдовании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… классов-ΠΏΡ€Π΅Π΄ΠΊΠΎΠ².

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

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΜΠ·ΠΌ β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ спСцификациСй ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ.

Π―Π·Ρ‹ΠΊ программирования ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ, Ссли классы с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ спСцификациСй ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, рСализация класса ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° Π² процСссС наслСдования[1].

ΠšΡ€Π°Ρ‚ΠΊΠΎ смысл ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ Ρ„Ρ€Π°Π·ΠΎΠΉ: «Один интСрфСйс, мноТСство Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉΒ».

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Ρ‘Ρ… Π²Π°ΠΆΠ½Π΅ΠΉΡˆΠΈΡ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования (наряду с абстракциСй, инкапсуляциСй ΠΈ наслСдованиСм).

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ позволяСт ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ абстрактныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ коэффициСнт ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΊΠΎΠ΄Π°. ΠžΠ±Ρ‰ΠΈΠ΅ свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² систСму, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ β€” интСрфСйс, класс. ΠžΠ±Ρ‰Π½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ внСшнСС ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅:

Π€ΠΎΡ€ΠΌΡ‹ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° [ ]

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

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ [ ]

Если ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ влияСт Π½Π° нашС восприятиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρ‚ΠΎ парамСтричСский ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ влияСт Π½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ родствСнных классов, откладывая объявлСниС Ρ‚ΠΈΠΏΠΎΠ² Π΄ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния. Для Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ написания ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° примСняСтся парамСтричСский ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ, ΠΏΡ€ΠΈ этом Ρ‚ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹. [ ]

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

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

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ООП с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Π½Π° C#. Π§Π°ΡΡ‚ΡŒ пСрвая. ВсС, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ΅

ΠΠ²Ρ‚ΠΎΡ€ΠΈΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ООП с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Π½Π° C#. Π§Π°ΡΡ‚ΡŒ пСрвая. ВсС, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ΅

Π― ΠΌΠ½ΠΎΠ³ΠΎ писал Π½Π° смСТныС Ρ‚Π΅ΠΌΡ‹, Π²Ρ€ΠΎΠ΄Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ MVC, Entity Framework, ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° Β«Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉΒ» ΠΈ Ρ‚.ΠΏ. Моим ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ всСгда Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ΅ раскрытиС Ρ‚Π΅ΠΌΡ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŽ Π½Π΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π³ΡƒΠ³Π»ΠΈΡ‚ΡŒ Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π΄Π΅Ρ‚Π°Π»ΠΈ. Π­Ρ‚ΠΎΡ‚ Ρ†ΠΈΠΊΠ» статСй ΠΎΠΏΠΈΡˆΠ΅Ρ‚ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ всС ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ООП, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Однако эта ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ свой ΠΏΡƒΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ: ΠΎΠ½Π° написана ΠΈ для ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… программистов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡΠ²Π΅ΠΆΠΈΡ‚ΡŒ свои знания.

Π‘Ρ€Π°Π·Ρƒ скаТу, Π΄Π°Π»Π΅ΠΊΠΎ Π² Ρ‚Π΅ΠΎΡ€ΠΈΡŽ ΠΌΡ‹ Π²Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ β€” нас ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ спСцифичныС вопросы. Π“Π΄Π΅ это Π±ΡƒΠ΄Π΅Ρ‚ Π½ΡƒΠΆΠ½ΠΎ, я Π±ΡƒΠ΄Ρƒ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Ρ‚ΡŒ повСствованиС ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° C#.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ООП ΠΈ Π² Ρ‡Ρ‘ΠΌ Π΅Π³ΠΎ ΠΏΠ»ΡŽΡΡ‹?

«ООП» Π·Π½Π°Ρ‡ΠΈΡ‚ Β«ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠžΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Β». Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ написанию ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ основываСтся Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ…, Π° Π½Π΅ Π½Π° функциях ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ…. Π­Ρ‚Π° модСль ставит Π² Ρ†Π΅Π½Ρ‚Ρ€ внимания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π° Π½Π΅ дСйствия, Π΄Π°Π½Π½Ρ‹Π΅, Π° Π½Π΅ Π»ΠΎΠ³ΠΈΠΊΡƒ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ β€” рСализация класса. ВсС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса ΠΏΠΎΡ…ΠΎΠΆΠΈ Π΄Ρ€ΡƒΠ³ Π½Π° Π΄Ρ€ΡƒΠ³Π°, Π½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ значСния. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, спСцифичныС для Π½ΠΈΡ….

ООП сильно ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ процСсс ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ создания структуры ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π±Π΅Π· воздСйствия Π½Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ внСсСниС Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π’Π°ΠΊ ΠΊΠ°ΠΊ с Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ становятся всё Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌΠΈ, Π° ΠΈΡ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° всё Π±ΠΎΠ»Π΅Π΅ тяТёлой, эти Π΄Π²Π° аспСкта ООП становятся всё Π±ΠΎΠ»Π΅Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ.

Π§Ρ‚ΠΎ Π·Π° ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ООП?

БСйчас ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΏΠΎΠ·ΠΆΠ΅ рассмотрим Π² подробностях:

Π›Π°Π΄Π½ΠΎ, Ρ‚ΡƒΡ‚ ΠΌΡ‹ ΠΊΠΎΡΠ½ΡƒΠ»ΠΈΡΡŒ большого количСства Ρ‚Π΅ΠΎΡ€ΠΈΠΈ, настало врСмя Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ. Π― надСюсь, это Π±ΡƒΠ΄Π΅Ρ‚ интСрСсно.

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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ всС сцСнарии использования ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ°, использованиС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ Π²ΠΎ врСмя написания ΠΊΠΎΠ΄Π°.

ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²

Π’ Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Program.cs Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ напишСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

И Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ это запустим, Π²Ρ‹Π²ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

DisplayOverload 100
DisplayOverload method overloading
DisplayOverload method overloading100

ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ компиляции:

Error: Type β€˜InheritanceAndPolymorphism.Overload’ already defines a member called β€˜DisplayOverload’ with the same parameter types

Π—Π΄Π΅ΡΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π΄Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ, ΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это нСльзя.

…то Ρƒ нас это Π½Π΅ получится:

Error: Type β€˜InheritanceAndPolymorphism.Overload’ already defines a member called β€˜DisplayOverload’ with the same parameter types

Π—Π΄Π΅ΡΡŒ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΡ… Ρ†Π΅Π»ΠΎΠ΅ число Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, с Ρ‚ΠΎΠΉ лишь Ρ€Π°Π·Π½ΠΈΡ†Π΅ΠΉ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ… ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½ ΠΊΠ°ΠΊ статичСский.

Π’ΠΎ нас ΠΆΠ΄Ρ‘Ρ‚ Ρ€Π°Π·ΠΎΡ‡Π°Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅:

Error: Cannot define overloaded method β€˜DisplayOverload’ because it differs from another method only on ref and out

Π§Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ: Π½Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ влияниС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅Π³ΠΎ имя ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ (ΠΈΡ… Ρ‚ΠΈΠΏ, количСство). ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ доступа Π½Π΅ Π²Π»ΠΈΡΡŽΡ‚. Π”Π²ΡƒΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚.

Роль ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова params Π² ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ΅

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Ρ‘Ρ… Ρ€Π°Π·Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ²:

Π‘ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ трСмя ΠΌΡ‹, Π²Ρ€ΠΎΠ΄Π΅, Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ взглянСм Π½Π° Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚Ρ‹ΠΉ.

Π’ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π΄Π²Π΅ ошибки:

Error1: The parameter name β€˜a’ is a duplicate

Error2: A local variable named β€˜a’ cannot be declared in this scope because it would give a different meaning to β€˜a’, which is already used in a β€˜parent or current’ scope to denote something else

ΠžΡ‚ΡΡŽΠ΄Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π²Ρ‹Π²ΠΎΠ΄: ΠΈΠΌΠ΅Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ имя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, созданной Π² этом ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅.

Overload.cs

Program.cs

ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄:

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

Overload.cs

Program.cs

Π­Ρ‚ΠΎ даст Π½Π°ΠΌ Ρ‚Π°ΠΊΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄:

Π’Π°ΠΆΠ½ΠΎ: это ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ послСднСму Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½ΠΈΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚:

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ запустится, ΠΈ такая синтаксичСская конструкция Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ n массивов строк. Вторая ΠΆΠ΅ выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ:

Error: The parameter array must be a single dimensional array

Overload.cs

Program.cs

Π’Ρ‹Π²ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

Π£ΠΆΠ΅ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ:

Error: The best overloaded method match for β€˜InheritanceAndPolymorphism.Overload.DisplayOverload(int, params string[])’ has some invalid arguments

Error:Argument 2: cannot convert from β€˜string[]’ to β€˜string’

Π”ΡƒΠΌΠ°ΡŽ, Ρ‚ΡƒΡ‚ всё понятно β€” ΠΈΠ»ΠΈ, ΠΈΠ»ΠΈ. Π‘ΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΈ ΠΎΠ΄Π½ΠΈΠΌ массивом нСльзя.

Overload.cs

Program.cs

ПослС Π΅Ρ‘ выполнСния ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π² консоли:

Π­Ρ‚ΠΎ происходит ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌ синтаксисС массив пСрСдаётся ΠΏΠΎ ссылкС. Однако стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ выполнСния Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚

Π’Π΅Π΄ΡŒ ΠΈΠ· ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² C# автоматичСски Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ, Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ массив.

parameterArray
The two integers 200 300
parameterArray

Overload.cs

Program.cs

Π’ консоли ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ:

System.Int32 System.String System.Double
System.Object[] System.Object[] System.Int32 System.String System.Double

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ, для Ρ‡Π΅Π³ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ, для Ρ‡Π΅Π³ΠΎ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ?

ΠžΠ’Π’Π•Π’Π«

ΠžΡ‚Π²Π΅Ρ‚ 1

Если Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅ ΠΎ грСчСских корнях этого Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°, это Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡ‚Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ.

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

ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ являСтся класс Shape ΠΈ всС классы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ Π½Π΅Π³ΠΎ (ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚, ΠΊΡ€ΡƒΠ³, додСкаэдр, Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ½ΠΎΠ³ΠΎangularьник, сплат ΠΈ Ρ‚.Π΄.).

ΠŸΡ€ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих классов Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π’ΠΎΡ‡Π΅Ρ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ Π½ΡƒΠΆΠ½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ (ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π² Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠΌ пространствС). ΠšΡ€ΡƒΠ³ нуТдаСтся Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ ΠΈ радиусС. ΠšΠ²Π°Π΄Ρ€Π°Ρ‚Ρƒ ΠΈΠ»ΠΈ прямоangularΡŒΠ½ΠΈΠΊΡƒ Π½ΡƒΠΆΠ½Ρ‹ Π΄Π²Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ для Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΈ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΡƒΠ³Π»ΠΎΠ² ΠΈ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ) вращСния. НСрСгулярный ΠΌΠ½ΠΎΠ³ΠΎangularьник нуТдаСтся Π² сСрии Π»ΠΈΠ½ΠΈΠΉ.

Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ для любой Ρ„ΠΈΠ³ΡƒΡ€Ρ‹.

Иногда Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ просто Π²Ρ‹ΠΉΡ‚ΠΈ, ΠΏΠΎΠΊΠ° Π²Ρ‹ ΠΏΠΎΠ·Π°Π΄ΠΈ πŸ™‚

ΠžΡ‚Π²Π΅Ρ‚ 2

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² Π‘#. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ класса Π² консольном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ создайтС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π² Main() модуля для консольного прилоТСния:

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм список Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса Vehicle, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π·Π½Π°Π΅Ρ‚ ΠΎ Ρ‚ΠΎΠΌ, сколько колСс ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π΅Π³ΠΎ подклассов, Π½ΠΎ Π·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ подкласс ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Π·Π½Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, сколько колСс Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ.

Π—Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ вСлосипСд, Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ ΠΈ Π³Ρ€ΡƒΠ·ΠΎΠ²ΠΈΠΊ Π² список.

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

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ называСтся ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½Ρ‹ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСтся, опрСдСляСтся подклассом, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π²ΠΎ врСмя выполнСния.

Π― надСюсь, Ρ‡Ρ‚ΠΎ это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ.

ΠžΡ‚Π²Π΅Ρ‚ 3

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ описываСт шаблон Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ классы ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ совмСстном использовании ΠΎΠ±Ρ‰Π΅Π³ΠΎ интСрфСйса.

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

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

ΠžΡ‚Π²Π΅Ρ‚ 4

Если ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ скаТСт CUT этим людям

Π˜Ρ‚Π°ΠΊ, Π²Ρ‹ΡˆΠ΅ прСдставлСния ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² ООП Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ (Ρ‚ΠΎ ΠΆΠ΅ имя, Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅).

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ это Π»ΡƒΡ‡ΡˆΠ΅ ΠΈ простым способом, я использовал ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹ΡˆΠ΅.. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° ссылка для ΠΊΠΎΠ΄Π°, слСдуйтС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π²Ρ‹ΡˆΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌ.

ΠžΡ‚Π²Π΅Ρ‚ 5

ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ объяснСниС ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ

ΠŸΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚ БША ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ. Как? Ну, Ρƒ Π½Π΅Π³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ совСтников:

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ нСсти ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π° ΠΎΠ΄Π½Ρƒ Π²Π΅Ρ‰ΡŒ: ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

ΠŸΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚ Π½Π΅ являСтся экспСртом Π½ΠΈ ΠΏΠΎ Ρ†ΠΈΠ½ΠΊΠΎΠ²Π°Π½ΠΈΡŽ, Π½ΠΈ ΠΏΠΎ ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²ΠΎΠΉ Ρ„ΠΈΠ·ΠΈΠΊΠ΅. Он Π½Π΅ Π·Π½Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π²Π΅Ρ‰Π΅ΠΉ, Π½ΠΎ ΠΎΠ½ Π·Π½Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ: ΠΊΠ°ΠΊ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ страной.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ это плохая идСя для ΠΏΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Π° Π·Π½Π°Ρ‚ΡŒ всС эти ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ?

Если Π±Ρ‹ ΠΏΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ» людям, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, это ΠΎΠ·Π½Π°Ρ‡Π°Π»ΠΎ Π±Ρ‹, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ. Если ΠΏΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Ρƒ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ самому, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ внСсти измСнСния, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π² Π΄Π²ΡƒΡ… мСстах, Π° Π½Π΅ Π² ΠΎΠ΄Π½ΠΎΠΌ.

НапримСр, Ссли EPA ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ Π·Π°ΠΊΠΎΠ½Ρ‹ ΠΎ загрязнСнии, Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° это ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚: Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ класс EPA , Π° Ρ‚Π°ΠΊΠΆΠ΅ класс ΠŸΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Π°. ИзмСнСниС ΠΊΠΎΠ΄Π° Π² Π΄Π²ΡƒΡ… мСстах, Π° Π½Π΅ Π² ΠΎΠ΄Π½ΠΎΠΌ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ опасным, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ Π³ΠΎΡ€Π°Π·Π΄ΠΎ слоТнСС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ.

Π•ΡΡ‚ΡŒ Π»ΠΈ Π»ΡƒΡ‡ΡˆΠΈΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄?

Он ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ страной.

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт ΠΏΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Ρƒ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ страной Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ, Π½Π΅ зная Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΎ Π²ΠΎΠ΅Π½Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ΅, Π·Π΄Ρ€Π°Π²ΠΎΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ°Ρ‚ΠΈΠΈ: Π΄Π΅Ρ‚Π°Π»ΠΈ оставлСны Π½Π° усмотрСниС экспСртов. ЕдинствСнноС, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Ρƒ, это: «Advise()».

Π’ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅:

НЕВ! НЕВ! НЕВ! Π’ Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΠΎΠΌ сцСнарии ΠΏΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚ Π΄Π΅Π»Π°Π΅Ρ‚ всю Ρ€Π°Π±ΠΎΡ‚Ρƒ: ΠΎΠ½ Π·Π½Π°Π΅Ρ‚ ΠΎΠ± ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ числСнности войск ΠΈ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… условиях. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ссли блиТнСвосточная ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° измСнится, Ρ‚ΠΎ ΠΏΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ свои ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ класс ΠŸΠ΅Ρ‚Ρ€Π΅ΡƒΡΠ°. Нам Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ класс ΠŸΠ΅Ρ‚Ρ€Π΅ΡƒΡΠ°, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Ρƒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ²ΡΠ·Π°Ρ‚ΡŒ Π² Ρ‚Π°ΠΊΠΈΡ… дСталях. Π•ΠΌΡƒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ дСталях. ВсС, Ρ‡Ρ‚ΠΎ Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ссли ΠΎΠ½ сдСлаСт ΠΎΠ΄ΠΈΠ½ Π·Π°ΠΊΠ°Π·, ΠΎΠ±ΠΎ всСм позаботятся. ВсС Π΄Π΅Ρ‚Π°Π»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ оставлСны Π½Π° усмотрСниС экспСртов.

Π­Ρ‚ΠΎ позволяСт ΠΏΡ€Π΅Π·ΠΈΠ΄Π΅Π½Ρ‚Ρƒ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅ всСго: ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰ΡƒΡŽ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ, Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΈ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Π² Π³ΠΎΠ»ΡŒΡ„: P.

Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ идСально

РСзюмС

ВсС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, это:

Π― Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ надСюсь, Ρ‡Ρ‚ΠΎ это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ. Если Π²Ρ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, ΠΈ я ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΡŽ Π΅Ρ‰Π΅ Ρ€Π°Π·.

ΠžΡ‚Π²Π΅Ρ‚ 6

ΠžΡ‚Π²Π΅Ρ‚ 7

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

Π­Ρ‚ΠΎ концСпция ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования. Π‘ΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎ-своСму Π½Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹Π΅ сообщСния называСтся ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠΎΠΌ.

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ класс ΠΆΠΈΠ²Π΅Ρ‚ Π² своСм собствСнном пространствС ΠΈΠΌΠ΅Π½. ИмСна, Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ класса, Π½Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‚ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π²Π½Π΅ Π΅Π³ΠΎ. Π­Ρ‚ΠΎ Π²Π΅Ρ€Π½ΠΎ ΠΊΠ°ΠΊ для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… экзСмпляра Π² структурС Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚Π°ΠΊ ΠΈ для ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²:

Π’Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ поля структуры C находятся Π² Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠΌ пространствС ΠΈΠΌΠ΅Π½, поэтому ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ экзСмпляра ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

ИмСна ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Ρ‹. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ C, ΠΈΠΌΠ΅Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² arent global symbols. Имя ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² ΠΎΠ΄Π½ΠΎΠΌ класс Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ²Π°Ρ‚ΡŒ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… классах; Π΄Π²Π° ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ классы ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π½Π°Π·Π²Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

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

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€-1: Π’ΠΎΡ‚ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€, написанный Π² Python 2.x.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€-2: ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Java с использованиСм ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° пСрСопрСдСлСния. p >

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ автомобиля для обсуТдСния ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ°. Π’ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ любой Π±Ρ€Π΅Π½Π΄, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Ford, Honda, Toyota, BMW, Benz ΠΈ Ρ‚.Π΄., ВсС Ρ‚ΠΈΠΏΠ° автомобиля.

Но Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ свои собствСнныС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, связанныС с ΠΈΡ… Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ создадим Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ Car

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ford Car.

Π€ΠΎΡ€Π΄ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ Ρ‚ΠΈΠΏ Car, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ всС Π΅Π³ΠΎ элСмСнты (свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹).

Π’Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹ΠΉ класс Ford Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ класс Car, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ move(). НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ пСрСмСщСния ΡƒΠΆΠ΅ доступСн Π€ΠΎΡ€Π΄Ρƒ Ρ‡Π΅Ρ€Π΅Π· НаслСдованиС, Ford ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎ-своСму. Π­Ρ‚ΠΎ называСтся ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

Как ΠΈ Ford, Honda Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ Ρ‚ΠΈΠΏ автомобиля ΠΈ примСняСт ΠΌΠ΅Ρ‚ΠΎΠ΄ пСрСмСщСния ΠΏΠΎ-своСму.

ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° являСтся Π²Π°ΠΆΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΡƒ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ overriding, Sub-Ρ‚ΠΈΠΏΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ способ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², доступных Ρ‡Π΅Ρ€Π΅Π· наслСдованиС.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ°:

Π’ основном ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ класса PolymorphismExample я создал Ρ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°: Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ, Ford ΠΈ Honda. ВсС Ρ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° относятся ΠΊ Ρ‚ΠΈΠΏΡƒ автомобиля.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ здСсь, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ супСркласса ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ Ρ‚ΠΈΠΏΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° класса Sub, Π½ΠΎ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ всС Ρ‡Π»Π΅Π½Ρ‹ супСркласса доступны для подкласса с использованиСм наслСдования ΠΈ Π²ΠΎ врСмя компиляции компилятор пытаСтся ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π»ΠΈ ссылочный Ρ‚ΠΈΠΏ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΎΠ½ пытаСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ.

Π˜Ρ‚Π°ΠΊ, для ссылок car, f ΠΈ h Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ PolymorphismExample ΠΌΠ΅Ρ‚ΠΎΠ΄ пСрСмСщСния сущСствуСт ΠΈΠ· Ρ‚ΠΈΠΏΠ° Car. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, компилятор ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ процСсс компиляции Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

Но ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ исполнСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ΄Ρ‚ΠΈΠΏΠ°ΠΌΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠ΅Ρ‚ΠΎΠ΄ move() вызываСтся ΠΈΠ· ΠΈΡ… ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ.

Π˜Ρ‚Π°ΠΊ, всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΈΠΏ Car, Π½ΠΎ Π²ΠΎ врСмя выполнСния Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ зависит ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ происходит Π²Ρ‹Π·ΠΎΠ². Π­Ρ‚ΠΎ называСтся ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠΎΠΌ.

ΠžΡ‚Π²Π΅Ρ‚ 8

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это относится ΠΊ способности ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° A вСсти сСбя ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° B. Π’ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ это ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ достигаСтся ΠΏΡƒΡ‚Π΅ΠΌ наслСдования. НСкоторыС ссылки Π² Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ для чтСния:

EDIT: исправлСны Π½Π΅Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ ссылки.

ΠžΡ‚Π²Π΅Ρ‚ 9

Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΡƒΠ±ΠΎΠΊ вмСсто ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ экзСмпляра. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π² общности, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ экзСмпляр ΠΌΠ΅Ρ€Ρ‹() для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Ρ‡Π°ΡˆΠΊΠΈ

ΠžΡ‚Π²Π΅Ρ‚ 10

Π― знаю, Ρ‡Ρ‚ΠΎ это Π±ΠΎΠ»Π΅Π΅ старый вопрос с мноТСством Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ², Π½ΠΎ я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅:

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ ΠΎΠ½ Π±Ρ‹Π» Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ.

Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π²Ρ‹ΡˆΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ это Π² дСйствии, Π½ΠΎ я ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΎΡ‚Π²Π΅Ρ‚.

ΠžΡ‚Π²Π΅Ρ‚ 11

(Π― просматривал Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΎ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌ.. ΠΈ появился ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ я ΠΏΠΎΠ΄ΡƒΠΌΠ°Π», Ρ‡Ρ‚ΠΎ знаю, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ. Π½ΠΎ, Π²ΠΈΠ΄ΠΈΠΌΠΎ, Π½Π΅ Ρ‚Π°ΠΊ красиво объяснСно. Π₯ΠΎΡ‚Π΅Π» Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π³ΠΎ Π³Π΄Π΅-Ρ‚ΠΎ. Π»ΡƒΡ‡ΡˆΠ΅ всС Ρ€Π°Π²Π½ΠΎ подСлюсь ΠΈΠΌ. )

Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π² этой части:

. ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ. Π­Ρ‚ΠΎ Π³Π΅Π½ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ способ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊ Π½ΠΈΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π³Π»Π°Π³ΠΎΠ».

ΠžΡ‚Π²Π΅Ρ‚ 12

Π’ΠΎΠΎΠ±Ρ‰Π΅ говоря, это ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с нСсколькими Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с использованиСм Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΈΠ»ΠΈ внСшнС Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ³ΠΎ API. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹:

ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ: ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ sqrt (float), sqrt (double) ΠΈ sqrt (complex). Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ языков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ это, компилятор автоматичСски Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ для Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π² Π½Π΅Π³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, это ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ компиляции.

Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π² ООП: ΠΌΠ΅Ρ‚ΠΎΠ΄ класса ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊ спСцификС Π΅Π³ΠΎ подклассов; ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ…, ΠΊΠ°ΠΊ говорят, пСрСопрСдСляСт Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, Π΄Π°Π½Π½ΡƒΡŽ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ классС. Учитывая ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса ΠΈΠ»ΠΈ любого ΠΈΠ· Π΅Π³ΠΎ подклассов, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ рСализация выбираСтся «Π½Π° Π»Π΅Ρ‚Ρƒ», поэтому это ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Π²ΠΎ врСмя выполнСния.

Π¨Π°Π±Π»ΠΎΠ½Ρ‹: функция Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… языков OO, посрСдством ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… функция, класс ΠΈ Ρ‚.Π΄. ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Ρ‚ΠΈΠΏΠΎΠΌ. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠΉ шаблон шаблона «ΡΠΏΠΈΡΠΎΠΊ», Π° Π·Π°Ρ‚Π΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ «ΡΠΏΠΈΡΠΎΠΊ Ρ†Π΅Π»Ρ‹Ρ… чисСл», «ΡΠΏΠΈΡΠΎΠΊ строк», Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π°ΠΆΠ΅ «ΡΠΏΠΈΡΠΎΠΊ списков строк» ​​или Ρ‚ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄ для структуры Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° элСмСнта, Π° компилятор Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ вСрсии для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² элСмСнтов.

ΠžΡ‚Π²Π΅Ρ‚ 13

Π’Π΅Ρ€ΠΌΠΈΠ½ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ происходит ΠΎΡ‚:

ΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ = ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ

ΠžΠ±ΡŠΠ΅ΠΊΡ‚-ΡƒΡ‡Π΅Π½ΠΈΠΊ Ρ‚Π°ΠΊΠΆΠ΅ являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ-Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ. Если Π²Ρ‹ «ΠΏΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅» (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ набросок) Π½Π° ΡƒΡ‡Π΅Π½ΠΈΠΊΠ°, Π²Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ студСнта. Π’Ρ‹ Π½Π΅ всСгда ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, Π½Π΅ Ρ‚Π°ΠΊ Π»ΠΈ? (Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ являСтся студСнтом, поэтому Ρƒ Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ студСнчСского удостовСрСния). Однако Ρƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, вСроятно, Π΅ΡΡ‚ΡŒ имя. Π‘Ρ‚ΡƒΠ΄Π΅Π½Ρ‚ Ρ‚ΠΎΠΆΠ΅.

НиТняя строка, «Π³Π»ΡΠ΄Ρ» Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с Ρ€Π°Π·Π½Ρ‹Ρ… «ΡƒΠ³Π»ΠΎΠ²», ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ Π²Π°ΠΌ Ρ€Π°Π·Π½Ρ‹Π΅ «ΠΏΠ΅Ρ€ΡΠΏΠ΅ΠΊΡ‚ΠΈΠ²Ρ‹» (Ρ‚.Π΅. Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ свойства ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹).

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, этот ΠΌΠ΅Ρ‚ΠΎΠ΄ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ «ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ» ΠΏΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΡƒΠ³Π»Π°ΠΌΠΈ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ? Для Π½Π°Ρ‡Π°Π»Π°. абстракция. На этом этапС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ достаточно ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ:)

ΠžΡ‚Π²Π΅Ρ‚ 14

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ аналогию. Для Π΄Π°Π½Π½ΠΎΠ³ΠΎ мюзикла script ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ³Ρ€Π°Π΅Ρ‚ Π΅Π³ΠΎ, Π΄Π°Π΅Ρ‚ свой собствСнный ΡˆΡ‚Ρ€ΠΈΡ… Π² ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ.

ΠœΡƒΠ·Ρ‹ΠΊΠ°Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ абстрагирован с интСрфСйсами, ΠΆΠ°Π½Ρ€, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π½Ρ‚, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ классом abstrac, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ, ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ³Ρ€Π°Π΅Ρ‚, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ смодСлирован с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ классом.

Если Π²Ρ‹ ΡΠ»ΡƒΡˆΠ°Ρ‚Π΅Π»ΡŒ ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Ρƒ вас Π΅ΡΡ‚ΡŒ ссылка Π½Π° script Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π‘Π°Ρ… ‘Π€ΡƒΠ³Π° ΠΈ Π’ΠΎΠΊΠ°Ρ‚Π°’, ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅Π³ΠΎ выполняСт, Π΄Π΅Π»Π°Π΅Ρ‚ это ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½ΠΎ ΠΏΠΎ-своСму.

Π­Ρ‚ΠΎ всСго лишь ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π° (Π½Π° Java):

ΠžΡ‚Π²Π΅Ρ‚ 15

Π― прСдставил ΠΎΠ±Ρ‰ΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° Π½Π° высоком ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ вопросу:

НадСюсь, это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚. Экстракт.

. это ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π½Π°Ρ‡Π°Ρ‚ΡŒ с простого тСста для Π½Π΅Π³ΠΎ ΠΈ опрСдСлСния [ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ°]. Рассмотрим ΠΊΠΎΠ΄:

ΠžΡ‚Π²Π΅Ρ‚ 16

ΠžΡ‚Π²Π΅Ρ‚ 17

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

ΠžΡ‚Π²Π΅Ρ‚ 18

ΠžΡ‚Π²Π΅Ρ‚ 19

Π’ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ языка ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ Π² зависимости ΠΎΡ‚ ΠΈΡ… Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ класса. Π‘ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ, это ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… классов.

ΠžΡ‚Π²Π΅Ρ‚ 20

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

Π Π°Π·Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² зависимости ΠΎΡ‚ экзСмпляра класса, Π° Π½Π΅ Ρ‚ΠΈΠΏΠ° ссылочной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Бсылочная пСрСмСнная Ρ‚ΠΈΠΏΠ° интСрфСйса ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° любой ΠΈΠ· экзСмпляров класса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ этот интСрфСйс.

ΠžΡ‚Π²Π΅Ρ‚ 21

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ нСсколько Ρ„ΠΎΡ€ΠΌ. (ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹): ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… классов ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠΌΠ΅Π½, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы Ρ€Π°Π·Π½Ρ‹Π΅. ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Рассмотрим Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° X.

Он всСго лишь ΠΎΠ΄ΠΈΠ½ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, Π½ΠΎ ΠΎΠ½ дСйствуСт ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ:

Он сын своСй ΠΌΠ°Ρ‚Π΅Ρ€ΠΈ. Π”Ρ€ΡƒΠ³ своим Π΄Ρ€ΡƒΠ·ΡŒΡΠΌ. Π‘Ρ€Π°Ρ‚ Π΅Π³ΠΎ сСстрС.

ΠžΡ‚Π²Π΅Ρ‚ 22

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Π² ООП ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ класс ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹, наслСдованиС являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· способов Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ°.

ΠžΡ‚Π²Π΅Ρ‚ 23

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ класс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ сохранСн Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ….

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ:

SuperClass:

ΠžΡ‚Π΅Ρ†, подкласс:

Π Π΅Π±Π΅Π½ΠΎΠΊ, Π΄Ρ€ΡƒΠ³ΠΎΠΉ подкласс:

ΠœΠ΅Ρ‚ΠΎΠ΄ выполнСния, ссылки Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ класс для запуска:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ класс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ объявлСн Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… *.java Ρ„Π°ΠΉΠ»Π°Ρ…. Код Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ постоянно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ maidenName ΠΈ familyTree дальшС. Π’Π°ΠΊΠΎΠ²Π° концСпция ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ°. ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡ наслСдования Ρ‚Π°ΠΊΠΆΠ΅ изучаСтся здСсь, Π³Π΄Π΅ ΠΎΠ΄ΠΈΠ½ класс ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован ΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ подклассом.

НадСюсь, Ρ‡Ρ‚ΠΎ это ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈ Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ. Π― ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΉΠ΄Ρƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я ΠΌΠΎΠ³Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΠ΄Π°. Бпасибо Π·Π° Ρ‚Π΅Ρ€ΠΏΠ΅Π½ΠΈΠ΅!

ΠžΡ‚Π²Π΅Ρ‚ 24

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ позволяСт ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ) Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠΎΠ΄Ρ‚ΠΈΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠΎΠΌ, здСсь Ρ‚Ρ€ΠΈ способа (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠΎΠ΄Ρ‚ΠΈΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅) для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ°.

ΠžΡ‚Π²Π΅Ρ‚ 25

Π’ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… языках ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ позволяСт ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ интСрфСйс. НапримСр, рассмотрим наслСдованиС Π² Π‘++: Класс B ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ ΠΈΠ· класса A. Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Ρ‚ΠΈΠΏΠ° A * (ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° класс A) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° класса A, Ρ‚Π°ΠΊ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° класса B.

ΠžΡ‚Π²Π΅Ρ‚ 26

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ wikipedia ΠΈΠΌΠ΅Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΡ… языках.

ΠžΡ‚Π²Π΅Ρ‚ 27

ΠžΡ‚Π²Π΅Ρ‚ 28

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ, ΠΈ Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ зависимости ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ компиляции ΠΎΡ‚ ΠΏΠΎΡ‚ΠΎΠΊΠ° управлСния, Π° Π½Π΅ с ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ управлСния.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ высокого уровня Π½Π΅ зависит ΠΎΡ‚ модуля Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня. Оба зависят ΠΎΡ‚ абстракций. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π½Π°ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ инвСрсии зависимостСй (https://en.wikipedia.org/wiki/Dependency_inversion_principle).

Π—Π΄Π΅ΡΡŒ я нашСл ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π²Ρ‹ΡˆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· 50 ΠΌΠΈΠ½ΡƒΡ‚ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ инструктор ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ это Π²Ρ‹ΡˆΠ΅. https://www.youtube.com/watch?v=TMuno5RZNeE

ΠžΡ‚Π²Π΅Ρ‚ 29

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ?

Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π½Π°Π΄ экзСмпляром спСциализированного Ρ‚ΠΈΠΏΠ°, зная Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅Π³ΠΎ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ, ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° спСциализированного Ρ‚ΠΈΠΏΠ°, Π° Π½Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°: это динамичСский ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ нСсколько ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… имя сохранСния, Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹: это статичСский ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ.

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ссли историчСскоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ самоС Π²Π°ΠΆΠ½ΠΎΠ΅.

Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ?

Π­Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ классов ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ магичСскиС дСйствия, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ списками ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², Π½Π΅ зная ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ², Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ привязки Π΄Π°Π½Π½Ρ‹Ρ….

ΠΎΠ±Ρ€Π°Π·Π΅Ρ†

Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Point, Line, Rectangle ΠΈ Circle с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Draw(), которая Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ для установки Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚Π° для Π΅Π³ΠΎ удалСния.

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

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

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