4 основы ΠΎΠΎΠΏ: Π¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ ООП

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для самых ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… | by NOP | NOP::Nuances of Programming

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ Alexander Petkov: How to explain object-oriented programming concepts to a 6-year-old

Π’Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π·Π°ΠΌΠ΅Ρ‡Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ Π½Π° собСсСдованиях Π·Π°Π΄Π°ΡŽΡ‚ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ ΠΊΠ»ΠΈΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ вопросы?

Π£Π²Π΅Ρ€Π΅Π½, Π²Ρ‹ поняли, Ρ‡Ρ‚ΠΎ я имСю Π²Π²ΠΈΠ΄Ρƒ.

Ну Π²ΠΎΡ‚, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ:

КСм Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ сСбя Ρ‡Π΅Ρ€Π΅Π· 5 Π»Π΅Ρ‚?

Или Π΅Ρ‰Π΅ Β«Π»ΡƒΡ‡ΡˆΠ΅Β»:

Какой ваш Π³Π»Π°Π²Π½Ρ‹ΠΉ нСдостаток?

Π‘ΠΎΠΆΠ΅, ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° этот вопрос станСт ΠΌΠΎΠΈΠΌ Π³Π»Π°Π²Π½Ρ‹ΠΌ нСдостатком.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, эти вопросы Π΄ΠΎ уТаса Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹ ΠΈ Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ раздраТСния, Π½ΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ работодатСлям Π»ΡƒΡ‡ΡˆΠ΅ вас ΠΏΠΎΠ½ΡΡ‚ΡŒ. А ΠΈΠΌΠ΅Π½Π½ΠΎ β€” вашС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС, ΠΆΠΈΠ·Π½Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, взгляд Π½Π° Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ ΠΈ Ρ‚.Π΄.

ΠžΡ‚Π²Π΅Ρ‡Π°Ρ Π½Π° эти вопросы, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ остороТны, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠ·-Π·Π° Π½Π΅Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅, ΠΎ Ρ‡Π΅ΠΌ ΠΏΠΎΠ·ΠΆΠ΅ ΠΏΠΎΠΆΠ°Π»Π΅Π΅Ρ‚Π΅.

Π’ сСгодняшнСй ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Β«ΠΊΠ»ΠΈΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉΒ» вопрос:

ΠšΠ°ΠΊΠΎΠ²Ρ‹ основныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования?

Π― Π±Ρ‹Π» ΠΏΠΎ ΠΎΠ±Π΅ стороны стола, ΠΊΠΎΠ³Π΄Π° Π·Π²ΡƒΡ‡Π°Π» этот вопрос. Он Π·Π²ΡƒΡ‡ΠΈΡ‚ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ часто, Ρ‡Ρ‚ΠΎ Π½Π΅ Π·Π½Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° Π½Π΅Π³ΠΎ β€” просто Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Π’ 90% случаСв Π΅Π³ΠΎ Π·Π°Π΄Π°ΡŽΡ‚ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π°Π·ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΈ вопроса:

  1. Готовился Π»ΠΈ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ ΠΊ этому ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ?
    Если ΠΎΡ‚Π²Π΅Ρ‚ даСтся Π½Π΅Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ β€” ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ отвСтствСнно подошСл ΠΊ Π΄Π΅Π»Ρƒ.
  2. ΠŸΡ€ΠΎΡˆΠ΅Π» Π»ΠΈ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ этап?
    ПониманиС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования (ООП) ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ ΠΏΡ€ΠΎΡˆΠ΅Π» Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ этап β€” Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ Π²ΠΈΠ΄ΠΈΡ‚ Π²Π΅Ρ‰ΠΈ с Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния.
  3. Π•Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ООП находится Π½Π° Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΌ ΠΈΠ»ΠΈ повСрхностном ΡƒΡ€ΠΎΠ²Π½Π΅?
    Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ компСтСнтности ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡƒ вопросу часто Ρ€Π°Π²Π΅Π½ ΡƒΡ€ΠΎΠ²Π½ΡŽ компСтСнтности ΠΏΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ…. Π”ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ΡΡŒ ΠΌΠ½Π΅.

ΠŸΡ€ΠΈΡˆΠ»ΠΎ врСмя ΠΎΠ·Π²ΡƒΡ‡ΠΈΡ‚ΡŒ 4 ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° ООП: инкапсуляция, абстракция, наслСдованиС ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ.

Для junior-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° слова ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΡΡ‚Ρ€Π°ΡˆΠ½Ρ‹ΠΌΠΈ ΠΈ слоТными. Π’Π΄ΠΎΠ±Π°Π²ΠΎΠΊ, ΠΏΡ€ΠΈ поискС ΠΎΡ‚Π²Π΅Ρ‚Π° Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ объяснСния Π² Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ ΡƒΠ΄Π²Π°ΠΈΠ²Π°ΡŽΡ‚ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρƒ.

Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ я Ρ…ΠΎΡ‡Ρƒ Π΄Π°Ρ‚ΡŒ простоС, ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ ΠΈ Ρ‡Π΅Ρ‚ΠΊΠΎΠ΅ объяснСниС для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ². ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π·Π²ΡƒΡ‡Π°Ρ‚ чСрСсчур просто, Π±ΡƒΠ΄Ρ‚ΠΎ Π±Ρ‹ я Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°ΡŽ с малСньким Ρ€Π΅Π±Π΅Π½ΠΊΠΎΠΌ, Π½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΡƒ я Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π» ΡƒΡΠ»Ρ‹ΡˆΠ°Ρ‚ΡŒ ΠΎΡ‚ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π° Π½Π° собСсСдовании.

Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ нСкая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Π£ Π½Π΅Π΅ Π΅ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‰Π°ΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ собой, Π² соотвСтствии с ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ, установлСнными Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

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

Π’Π΅ΠΏΠ΅Ρ€ΡŒ допустим, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈΠ³Ρ€Π°Π΅ΠΌ Π² Sims. Π£ нас Π΅ΡΡ‚ΡŒ сСмья ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… людСй ΠΈ кошки. Они ΠΎΠ±Ρ‰Π°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ. ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡŽ, поэтому инкапсулируСм всю Π»ΠΎΠ³ΠΈΠΊΡƒ Β«catΒ» Π² класс Cat. Π­Ρ‚ΠΎ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π—Π΄Π΅ΡΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ состояниСм кошки ΡΠ²Π»ΡΡŽΡ‚ΡΡ частныС(private) ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅: настроСниС(mood), Π³ΠΎΠ»ΠΎΠ΄(hungry) ΠΈ энСргия(energy). Она Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ частный(private) ΠΌΠ΅Ρ‚ΠΎΠ΄ meow (). Кошка ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° Π·Π°Ρ…ΠΎΡ‡Π΅Ρ‚, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ классы Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ кошкС, ΠΊΠΎΠ³Π΄Π° Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΡΡƒΠΊΠ°Ρ‚ΡŒ.

Π’ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, опрСдСляСтся Π² ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Ρ…(public) ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… sleep (), play () ΠΈ feed (). ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ влияСт Π½Π° Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ состояниС кошки ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ meow (). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, устанавливаСтся связь ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ состояниСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ.

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ инкапсуляция.

Π’ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ, Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΎΡ‡Π΅Π½ΡŒ большой объСм, ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Ρ‰Π°ΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ собой. Как Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»Π³ΠΈΡ… Π»Π΅Ρ‚ β€” с постоянными измСнСниями β€” Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ.

Абстракция Π½Π°Ρ†Π΅Π»Π΅Π½Π° Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ абстракции ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π½Π΅Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Π΅ характСристики ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Π΅. Π”Π°Π½Π½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ высокого уровня с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΊΠΎΡ„Π΅Π²Π°Ρ€ΠΊΡƒ. Когда ΠΎΠ½Π° Π²Π°Ρ€ΠΈΡ‚ ΠΊΠΎΡ„Π΅, ΠΏΠΎΠ΄ Π΅Π΅ корпусом творится ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅Ρ‰Π΅ΠΉ. Но ΠΎΡ‚ вас трСбуСтся лишь Π½Π°ΡΡ‹ΠΏΠ°Ρ‚ΡŒ ΠΊΠΎΡ„Π΅ ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ.

Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΏΡ€ΠΈΡ…ΠΎΡ‚Π»ΠΈΠ² Π² использовании, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π΄ΠΊΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ. ΠŸΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎΠ± этом, ΠΊΠ°ΠΊ ΠΎ Π½Π°Π±ΠΎΡ€Π΅ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Ρ…(public) ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ класс ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ, Π½Π΅ β€œΠ·Π½Π°Ρβ€, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚.

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€? Π’ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ свой смартфон.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь Π²Ρ‹ бСсчислСнноС количСство Ρ€Π°Π· ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅ ΠΏΠ°Π»ΡŒΡ†Π°ΠΌΠΈ ΠΏΠΎ экрану. Π§Ρ‚ΠΎ Π² этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ происходит Π²Π½ΡƒΡ‚Ρ€ΠΈ смартфона? Рядовому ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ это Π·Π½Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΅ΠΌΡƒ Π΄Π°Π½ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ дСйствий для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π³Π°Π΄ΠΆΠ΅Ρ‚ΠΎΠΌ.

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ с двумя ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌΠΈ ООП, ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Π΅Ρ‰Π΅ Π΄Π²Π°.

НаслСдованиС позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ класс (ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΉ класс) Π½Π° основС ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ (Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ класс).

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

НапримСр:

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

На грСчСском, ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Β«ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΒ».

ΠœΡ‹ с Π²Π°ΠΌΠΈ ΡƒΠ·Π½Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ наслСдованиС, ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ примСняСм Π΅Π³ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. Но Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ класс ΠΈ нСсколько ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ…. ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ ΠΈΠ»ΠΈ, ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ, список, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит «микс» всСх этих классов. Или Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄, осущСствляСмый для Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса, Π½ΠΎ ΠΌΡ‹ Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈ для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ.

Π­Ρ‚Ρƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ.

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ характСристиками Π² Ρ€Π°Π·Π½Ρ‹Ρ… направлСниях.

ΠžΠ±Ρ‰ΠΈΠ΅ свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² систСму, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ β€” интСрфСйс, класс.

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ позволяСт ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ коэффициСнт ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΊΠΎΠ΄Π°.

ВзглянитС Π½Π° эскиз с гСомСтричСскими Ρ„ΠΈΠ³ΡƒΡ€Π°ΠΌΠΈ. Они ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠ±Ρ‰ΠΈΠΉ интСрфСйс для расчСта ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ повСрхности ΠΈ ΠΏΠ΅Ρ€ΠΈΠΌΠ΅Ρ‚Ρ€Π°:

ИмСя Π² распоряТСнии эти Ρ„ΠΈΠ³ΡƒΡ€Ρ‹, Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ интСрфСйс Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ (список) ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Ρ… Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ², окруТностСй ΠΈ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ². И ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ Π½ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Ρ‚ΠΈΠΏΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Π—Π°Ρ‚Π΅ΠΌ, Ссли потрСбуСтся Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ элСмСнта, эта коллСкция (список) Π½Π°ΠΉΠ΄Π΅Ρ‚ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄. Если элСмСнт являСтся Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ, выполняСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ CalculateSurface (). Если это ΠΊΡ€ΡƒΠ³, выполняСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ CalculateSurface (). И Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

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

НадСюсь, ΠΌΠΎΠ΅ «дСтскоС» объяснСниС Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ собСсСдования ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡ‚ΡŒ, фактичСски, Π²Π°ΠΌ обСспСчСна!

Π’Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ собСсСдованию, Π·Π½Π°Π΅Ρ‚Π΅ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° любой вопрос, Ρ€ΡƒΠ±Π°ΡˆΠΊΠ° ΠΈ ΠΏΠΈΠ΄ΠΆΠ°ΠΊ ΠΏΠΎΠ³Π»Π°ΠΆΠ΅Π½Ρ‹, Ρ€Π΅Π·ΡŽΠΌΠ΅ сто Ρ€Π°Π· ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡ‚Π°Π½ΠΎ ΠΈ ΠΏΠΎΠ΄ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ, Π½ΠΎ Π²ΠΎΡ‚ Π½Π΅Π·Π°Π΄Π°Ρ‡Π° β€” Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ Π·Π²ΠΎΠ½ΠΈΡ‚ с ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΈΠ· Ρ‚ΠΎΠ»ΠΏΡ‹ ΠΈ, Ρ‡Ρ‚ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚ΠΎΠ΄Π°Ρ‚Π΅Π»ΡŒ Π² junior-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅.

Π”ΠΎ скорых встрСч!

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования / Π₯Π°Π±Ρ€

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π₯Π°Π±Ρ€! МСня Π·ΠΎΠ²ΡƒΡ‚ Владислав Π ΠΎΠ΄ΠΈΠ½. Π’ настоящСС врСмя я являюсь Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ курса «АрхитСктор высоких Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊΒ» Π² OTUS, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°ΡŽ Π½Π° курсах, посвящСнных Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ПО.

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΊ старту занятий Π² Π½ΠΎΠ²ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅ курса «АрхитСктура ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ проСктирования» я ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ» Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ авторский ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π».


Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅


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

Π’ΠΎΠΎΠ±Ρ‰Π΅ устроСно всС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Π΅ΡΡ‚ΡŒ само ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π£ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹. Из ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π½Π½Ρ‹Π΅ Π½Π°ΠΌ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ GRASP (ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” SOLID ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹), ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ GoF. Из Π½ΠΈΡ… ΠΆΠ΅ слСдуСт ряд интСрСсных Π²Π΅Ρ‰Π΅ΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, enterprise ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ориСнтированная ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°


ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ гласит, Ρ‡Ρ‚ΠΎ Β«ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ – это ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° программирования, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ основной ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠ΅ΠΉ являСтся понятиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отоТдСствляСтся с ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ.Β»

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, систСма прСдставляСтся Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ собой Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ трСмя cΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌΠΈ: ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ (identity), состояниС (state) ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ (behaviour).

БостояниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° β€” это Π½Π°Π±ΠΎΡ€ всСх Π΅Π³ΠΎ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

ПовСдСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° β€” это Π½Π°Π±ΠΎΡ€ всСх ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° β€” это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° класса. Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Java, ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ идСнтичности опрСдСляСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ equals.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования


ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ рядом ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ². ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ± ΠΈΡ… количСствС расходится. ΠšΡ‚ΠΎ-Ρ‚ΠΎ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΡ… Ρ‚Ρ€ΠΈ (старая школа программистов), ΠΊΡ‚ΠΎ-Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΡ… Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ (новая школа программистов):

  1. Абстрация
  2. Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ
  3. НаслСдованиС
  4. ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ


ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Π½ΠΈΡ… ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅. ЕдинствСнноС Ρ‡Ρ‚ΠΎ β€” я ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π½Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡŽ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΊΠ°ΠΊ ΠΎΡ‚Π½ΠΎΡˆΡƒ сСбя ΠΊ старой школС программистов.

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


Π’ΠΎΠΏΡ€Π΅ΠΊΠΈ мнСнию ΠΌΠ½ΠΎΠ³ΠΈΡ… ΡΠΎΠ±Π΅ΡΠ΅Π΄ΡƒΡŽΡ‰ΠΈΡ…ΡΡ (Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ собСсСдуСмых), инкапсуляция это Π½Π΅ Β«ΠΊΠΎΠ³Π΄Π° всС поля ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅Β». Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠΌ проСктирования ПО, Π΅Π΅ слСды Π½Π°Π±Π»ΡŽΠ΄Π°ΡŽΡ‚ΡΡ Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΌΠΈΠΊΡ€ΠΎ-, Π½ΠΎ ΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ макропроСктирования.

НаучноС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ гласит, Ρ‡Ρ‚ΠΎ Β«Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ – это ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ, согласно ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ любой класс ΠΈ Π² Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ смыслС – любая Ρ‡Π°ΡΡ‚ΡŒ систСмы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Β«Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ ящик»: ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ класса ΠΈΠ»ΠΈ подсистСмы Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ интСрфСйс (Ρ‚.Π΅. список Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… свойств ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²) ΠΈ Π½Π΅ Π²Π½ΠΈΠΊΠ°Ρ‚ΡŒ Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ.Β»

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, получаСтся, Ρ‡Ρ‚ΠΎ Ссли класс A обращаСтся ΠΊ полям класса B Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ Π½Π΅ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Β«Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ΡΡ информационная Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΒ», Π° ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ класс A завязываСтся Π½Π° Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ устройство класса B, ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство класса B ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ измСнСнию класса А. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, класс A Π½Π΅ просто Ρ‚Π°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с полями класса B, ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ΅. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с состояниСм класса Π’ Π»Π΅ΠΆΠΈΡ‚ Π² классС А, ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ класс Π’, это Π½Π΅ удастся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, вСдь Π±Π΅Π· кусочка класса А класс Π’ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ бСсполСзным, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ класс Π’ придСтся ΠΎΡ‚Π΄Π°Π²Π°Ρ‚ΡŒ вмСстС с классом А. Экстраполируя это Π½Π° всю систСму, получаСтся, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ всю систСму Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ.

Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ являСтся самым Π½Π΅Π΄ΠΎΠΎΡ†Π΅Π½Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΊ соТалСнию, ΠΌΠ°Π»ΠΎ ΠΊΠ΅ΠΌ интСрпрСтируСтся ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. Она позволяСт ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ число связСй ΠΌΠ΅ΠΆΠ΄Ρƒ классами ΠΈ подсистСмами ΠΈ, соотвСтствСнно, ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ классов ΠΈ подсистСм.

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


НаслСдованиС β€” это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ класс ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ с сохранСниСм всСх свойств ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса-ΠΏΡ€Π΅Π΄ΠΊΠ° (супСркласса), добавляя ΠΏΡ€ΠΈ нСобходимости Π½ΠΎΠ²Ρ‹Π΅ свойства ΠΈ

ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

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

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


ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ β€” это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ классы – ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΈ Π² контСкстС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для класса – ΠΏΡ€Π΅Π΄ΠΊΠ°.

Π—Π° самым садистским ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ кроСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ языка программирования для Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° if’ΠΎΠ² ΠΈ switch’Π΅ΠΉ.

Π§Π΅Ρ‚Ρ‹Ρ€Π΅ столпа ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования

Β Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΠΎΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ основных ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования (ООП). ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ позволяСт программистам Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ с Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. Π’ вашСй повсСднСвной ΠΆΠΈΠ·Π½ΠΈ люди ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ знаниями ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹/Π·Π°Π΄Π°Ρ‡ΠΈ. Π’ ООП ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ поля для хранСния Π·Π½Π°Π½ΠΈΠΉ/состояния/Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΡƒΠ³Π»ΡƒΠ±ΠΈΡ‚ΡŒΡΡ Π² Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ столпа ООП, я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΠΏΡ€ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΏΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ основным Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°ΠΌ.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ : ЭкзСмпляр класса / это Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса

Класс : Π­Ρ‚ΠΎ модСль ΠΈΠ»ΠΈ стандарт ΠΎ возмоТностях Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ

ΠœΠ΅Ρ‚ΠΎΠ΄: ΠœΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ класс состояниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊΠΎ всСм экзСмплярам класса

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

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

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

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

Β  Β  Β  Π’Π°ΠΊΠΆΠ΅ сущСствуСт Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄: bark(). Класс собаки ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ это, ΠΊΠΎΠ³Π΄Π° Π·Π°Ρ…ΠΎΡ‡Π΅Ρ‚, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ классы Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ собакС, ΠΊΠΎΠ³Π΄Π° Π»Π°ΡΡ‚ΡŒ. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ общСдоступныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ sleep(), play() ΠΈ eat(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ доступны Π΄Ρ€ΡƒΠ³ΠΈΠΌ классам. КаТдая ΠΈΠ· этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ измСняСт Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ состояниС класса Dog ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ bark(), ΠΊΠΎΠ³Π΄Π° это происходит, ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠ΅ состояниС ΠΈ общСдоступныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ связаны.

Абстракция

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

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

Β  Β  Β  НаслСдованиС β€” это ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅/всС свойства Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. НапримСр, Ρ€Π΅Π±Π΅Π½ΠΎΠΊ наслСдуСт Ρ‡Π΅Ρ€Ρ‚Ρ‹ своих Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ. ΠŸΡ€ΠΈ наслСдовании Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования являСтся основным прСимущСством. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ поля ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ класса. Π’ Java ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ наслСдования: ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½ΠΎΠ΅, мноТСствСнноС, ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ΅, иСрархичСскоС ΠΈ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΎΠ΅. НапримСр, Apple β€” это Ρ„Ρ€ΡƒΠΊΡ‚, поэтому ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ класс Fruit ΠΈ Π΅Π³ΠΎ подкласс с ΠΈΠΌΠ΅Π½Π΅ΠΌ Apple. НашС яблоко ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π°Π΅Ρ‚ свойства класса Fruit. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ классификациями ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΈΠ½ΠΎΠ³Ρ€Π°Π΄, Π³Ρ€ΡƒΡˆΠ°, ΠΌΠ°Π½Π³ΠΎ ΠΈ Ρ‚. Π”. Π€Ρ€ΡƒΠΊΡ‚Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ класс ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π·Ρ€Π΅Π»Ρ‹Π΅ завязи растСния, мясистыС, содСрТащиС большоС сСмя Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΈΠ»ΠΈ мноТСство ΠΊΡ€ΠΎΡˆΠ΅Ρ‡Π½Ρ‹Ρ… сСмян. Π―Π±Π»ΠΎΠΊΠΎ подкласса ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π°Π΅Ρ‚ эти свойства ΠΎΡ‚ Ρ„Ρ€ΡƒΠΊΡ‚ΠΎΠ² ΠΈ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ свойствами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… подклассов Ρ„Ρ€ΡƒΠΊΡ‚ΠΎΠ², Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ красноС, ΠΊΡ€ΡƒΠ³Π»ΠΎΠ΅, ΡƒΠ³Π»ΡƒΠ±Π»Π΅Π½ΠΈΠ΅ Π½Π°Π²Π΅Ρ€Ρ…Ρƒ.

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

Β  Β  Β  Β ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ класс Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π΅Π³ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ, поэтому Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρ‹ ΠΏΡ€ΠΈ смСшивании Ρ‚ΠΈΠΏΠΎΠ². ΠŸΡ€ΠΈ этом ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ подкласс сохраняСт свои собствСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ/ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ‚Π°ΠΊΠΈΠΌΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π΅ΡΡ‚ΡŒ. Если Π±Ρ‹ Ρƒ нас Π±Ρ‹Π» супСркласс ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Mammal, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π» Π±Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠœΠ»Π΅ΠΊΠΎΠΏΠΈΡ‚Π°ΡŽΡ‰Π΅Π΅Sound(). Подклассами ΠΌΠ»Π΅ΠΊΠΎΠΏΠΈΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ собаки, ΠΊΠΈΡ‚Ρ‹, слоны ΠΈ лошади. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… Π±ΡƒΠ΄Π΅Ρ‚ своя собствСнная итСрация Π·Π²ΡƒΠΊΠ° ΠΌΠ»Π΅ΠΊΠΎΠΏΠΈΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ (Π»Π°ΠΉ собаки, Ρ‰Π΅Π»Ρ‡ΠΊΠΈ ΠΊΠΈΡ‚Π°).

Β 

Β 

ΠŸΠžΠ”Π ΠžΠ‘ΠΠ•Π•:Β  ΠžΡΠ½ΠΎΠ²Ρ‹ взаимодСйствия GraphQL ΠΈ REST API, ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ исслСдованиС UX, Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ сходства ΠΈ кластСризация, Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ схСмы

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° C++

0

0 Π‘ΠžΠ”Π•Π Π–ΠΠΠ˜Π― :

  1. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  2. Класс
  3. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹
  4. Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ
  5. Абстракция
  6. ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ
  7. НаслСдованиС
  8. ДинамичСскоС связываниС
  9. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° сообщСний

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

Π₯арактСристики ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ языка программирования

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

НапримСр: Рассмотрим класс Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ названиями ΠΈ Π±Ρ€Π΅Π½Π΄Π°ΠΌΠΈ, Π½ΠΎ всС ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‰ΠΈΠ΅ свойства, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ всС ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ 4 колСса, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ скорости, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΏΡ€ΠΎΠ±Π΅Π³Π° ΠΈ Ρ‚. Π΄. Π˜Ρ‚Π°ΠΊ, здСсь Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ β€” это класс, Π° колСса, ограничСния скорости, ΠΏΡ€ΠΎΠ±Π΅Π³ β€” это ΠΈΡ… свойства.

  • Класс β€” это опрСдСляСмый ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅-Ρ‡Π»Π΅Π½Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-Ρ‡Π»Π΅Π½Ρ‹.
  • Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… β€” это ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-Ρ‡Π»Π΅Π½Ρ‹ β€” это Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для управлСния этими ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, ΠΈ вмСстС эти элСмСнты Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-Ρ‡Π»Π΅Π½Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ свойства ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² классС.
  • Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ класса Car элСмСнтом Π΄Π°Π½Π½Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ скорости, ΠΏΡ€ΠΎΠ±Π΅Π³ ΠΈ Ρ‚. Π΄., Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-Ρ‡Π»Π΅Π½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Ρ‚ΠΎΡ€ΠΌΠΎΠ·Π°, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ Ρ‚. Π΄.

МоТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ класс Π² C++ β€” это схСма, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‰ΠΈΠ΅ свойства ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚: ΠžΠ±ΡŠΠ΅ΠΊΡ‚ β€” это ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ характСристиками ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ являСтся экзСмпляром класса. Когда класс ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½, ΠΏΠ°ΠΌΡΡ‚ΡŒ Π½Π΅ выдСляСтся, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ создаСтся (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ создаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚), ΠΏΠ°ΠΌΡΡ‚ΡŒ выдСляСтся.

класс Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ

{

     char имя[20];

Β Β Β Β  Ρ†Π΅Π»ΠΎΠ΅ число id;

общСдоступный :

Β Β Β Β  void getdetails(){}

};

Β  Β 

int main()

{

Β Β Β  4;

}

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ мСсто Π² памяти ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ связанный адрСс, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ запись Π² паскалС ΠΈΠ»ΠΈ структура ΠΈΠ»ΠΈ объСдинСниС Π² C.

Когда ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выполняСтся, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚, отправляя сообщСния ΠΎΠ΄Π½ΠΎΠΌΡƒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ содСрТит Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΊΠΎΠ΄ для управлСния Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π΅ зная Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΊΠΎΠ΄Π° Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°, достаточно Π·Π½Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ принятого сообщСния ΠΈ Ρ‚ΠΈΠΏ ΠΎΡ‚Π²Π΅Ρ‚Π°, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ.

Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ : ΠžΠ±Ρ‹Ρ‡Π½ΠΎ инкапсуляция опрСдСляСтся ΠΊΠ°ΠΊ объСдинСниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅. Π’ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ инкапсуляция опрСдСляСтся ΠΊΠ°ΠΊ связываниС вмСстС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚.

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

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

Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ абстракции ΠΈΠ»ΠΈ ΡΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… . ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ использованиС инкапсуляции Ρ‚Π°ΠΊΠΆΠ΅ скрываСт Π΄Π°Π½Π½Ρ‹Π΅. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π΄Π°Π½Π½Ρ‹Π΅ любого Ρ€Π°Π·Π΄Π΅Π»Π°, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ, финансы ΠΈΠ»ΠΈ счСта, скрыты ΠΎΡ‚ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°.

Абстракция : Абстракция Π΄Π°Π½Π½Ρ‹Ρ… β€” ΠΎΠ΄Π½Π° ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ сущСствСнных ΠΈ Π²Π°ΠΆΠ½Ρ‹Ρ… особСнностСй ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования Π½Π° C++. Абстракция ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ сокрытиС Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ. Абстракция Π΄Π°Π½Π½Ρ‹Ρ… относится ΠΊ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… Π²Π½Π΅ΡˆΠ½Π΅ΠΌΡƒ ΠΌΠΈΡ€Ρƒ, ΡΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΡŽ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ ΠΈΠ»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Рассмотрим Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Π·Π° Ρ€ΡƒΠ»Π΅ΠΌ автомобиля. Π§Π΅Π»ΠΎΠ²Π΅ΠΊ Π·Π½Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° аксСлСратор ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ автомобиля ΠΈΠ»ΠΈ наТимая Π½Π° Ρ‚ΠΎΡ€ΠΌΠΎΠ· остановит ΠΌΠ°ΡˆΠΈΠ½Ρƒ, Π½ΠΎ ΠΎΠ½ Π½Π΅ Π·Π½Π°Π΅Ρ‚, ΠΊΠ°ΠΊ Π½Π° самом Π΄Π΅Π»Π΅ увСличиваСтся ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° аксСлСратор, ΠΎΠ½ Π½Π΅ Π·Π½Π°Π΅Ρ‚ ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ автомобиля ΠΈΠ»ΠΈ рСализация аксСлСратора, Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΎΠ² ΠΈ Ρ‚. Π΄. Π² Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ абстракция.

  • Абстракция с использованиСм классов : ΠΠ±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡŽ Π½Π° C++ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ классов. Класс ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π½Π°ΠΌ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-Ρ‡Π»Π΅Π½Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ доступныС спСцификаторы доступа. Класс ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ Ρ‡Π»Π΅Π½ Π΄Π°Π½Π½Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π΅Π½ Π²Π½Π΅ΡˆΠ½Π΅ΠΌΡƒ ΠΌΠΈΡ€Ρƒ, Π° ΠΊΠ°ΠΊΠΎΠΉ Π½Π΅Ρ‚.
  • Абстракция Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… : Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ абстракции Π² C++ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. НапримСр, рассмотрим ΠΌΠ΅Ρ‚ΠΎΠ΄ pow() Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ math.h. Всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ числа, ΠΌΡ‹ просто Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ pow(), ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ math. h, ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ числа Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π½Π΅ зная Π»Π΅ΠΆΠ°Ρ‰Π΅Π³ΠΎ Π² основС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Π² соотвСтствии с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ функция фактичСски вычисляСт ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ чисСл. .

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ: Π‘Π»ΠΎΠ²ΠΎ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ мноТСства Ρ„ΠΎΡ€ΠΌ. ΠŸΡ€ΠΎΡ‰Π΅ говоря, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ ΠΊΠ°ΠΊ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ сообщСния ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π² ΠΎΠ΄Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅.

Π§Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ характСристики. Как ΠΈ ΠΌΡƒΠΆΡ‡ΠΈΠ½Π° ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ являСтся ΠΎΡ‚Ρ†ΠΎΠΌ, ΠΌΡƒΠΆΠ΅ΠΌ, Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠΎΠΌ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π² Ρ€Π°Π·Π½Ρ‹Ρ… ситуациях Π²Π΅Π΄Π΅Ρ‚ сСбя ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. Π­Ρ‚ΠΎ называСтся ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠΎΠΌ.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ‚ вСсти сСбя ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ Π² Ρ€Π°Π·Π½Ρ‹Ρ… случаях. ПовСдСниС зависит ΠΎΡ‚ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

C++ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ : ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для слоТСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ†Π΅Π»Ρ‹Ρ… чисСл, ΠΈΠ½ΠΎΠ³Π΄Π° 2 Ρ†Π΅Π»Ρ‹Ρ… числа, ΠΈΠ½ΠΎΠ³Π΄Π° 3 Ρ†Π΅Π»Ρ‹Ρ… числа. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ добавлСния с Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π½ΠΎ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² соотвСтствии с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ.

НаслСдованиС : Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ класса ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ свойства ΠΈ характСристики ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ класса называСтся НаслСдованиСм. НаслСдованиС β€” ΠΎΠ΄Π½Π° ΠΈΠ· Π²Π°ΠΆΠ½Π΅ΠΉΡˆΠΈΡ… особСнностСй ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования.

  • Подкласс : Класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ наслСдуСт свойства Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ класса, называСтся подклассом ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΌ классом.
  • БупСркласс :Класс, свойства ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ΡΡ подклассом, называСтся Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ классом ΠΈΠ»ΠΈ супСрклассом.
  • ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ использованиС : НаслСдованиС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ Β«ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования», Ρ‚.

    This entry was posted in ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΠ΅