Π”ΠΈΠΏΠ»ΠΎΠΌΡ‹, курсовыС, Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚Ρ‹, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅...
Брочная ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π² ΡƒΡ‡Ρ‘Π±Π΅

Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ программирования

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ (polymorphism) (ΠΎΡ‚ Π³Ρ€Π΅Ρ‡Π΅ΡΠΊΠΎΠ³ΠΎ polymorphos) — это свойство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ имя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Π²ΡƒΡ… ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ схоТих, Π½ΠΎ Ρ‚СхничСски Ρ€Π°Π·Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡. ЦСлью ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ°, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, являСтся использованиС ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ для задания ΠΎΠ±Ρ‰ΠΈΡ… для класса дСйствий. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ дСйствия Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ программирования (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠΈΠ½ΠΈΡΡ‚Π΅Ρ€ΡΡ‚Π²ΠΎ образования ΠΈ Π½Π°ΡƒΠΊΠΈ Российской Π€Π΅Π΄Π΅Ρ€Π°Ρ†ΠΈΠΈ Π€Π΅Π΄Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ государствСнноС Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π½ΠΎΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΡƒΡ‡Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π’Ρ‹ΡΡˆΠ΅Π³ΠΎ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ образования

" Ярославский государствСнный тСхничСский унивСрситСт"

ΠšΠ°Ρ„Π΅Π΄Ρ€Π° «Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ»

ΠšΠžΠΠ’Π ΠžΠ›Π¬ΠΠΠ― Π ΠΠ‘ΠžΠ’Π

Π½Π° Ρ‚Π΅ΠΌΡƒ «ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅»

ΠΏΠΎ Π΄ΠΈΡΡ†ΠΈΠΏΠ»ΠΈΠ½Π΅ «Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ программирования»

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ» студСнт 3 курса Π·Π°ΠΎΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚Π° Π³Ρ€ΡƒΠΏΠΏΡ‹ Π—Π˜Π‘-37 ΠΠ²Π΅Ρ€ΡŒΡΠ½ΠΎΠ² Π’.Π•.

Π―Ρ€ΠΎΡΠ»Π°Π²Π»ΡŒ 2014

  • Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅
  • ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ возникновСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования
  • ΠšΠ»Π°ΡΡΡ‹
  • ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹
  • ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования: инкапсуляция, наслСдованиС, ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ

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

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

Когда программисты ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°: «Π§Π΅ΠΌ ΠΆΠ΅, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅, Π΅ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅?» , — ΠΎΡ‚Π²Π΅Ρ‚ Ρ‡Π°Ρ‰Π΅ всСго акцСнтируСтся Π½Π° ΡΠΈΠ½Ρ‚аксичСских свойствах Ρ‚Π°ΠΊΠΈΡ… языков, ΠΊΠ°ΠΊ Π‘++ ΠΈΠ»ΠΈ Object Pascal, Π² ΡΡ€Π°Π²Π½Π΅Π½ΠΈΠΈ с ΠΈΡ… ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌΠΈ, Π½Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ вСрсиями, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π‘ ΠΈΠ»ΠΈ Pascal. Но ΠΏΡ€ΠΈ этом ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅Π³Π°ΡŽΡ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ с Π²ΠΎΠΏΡ€ΠΎΡΠ°ΠΌΠΈ синтаксиса.

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

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ — это Π½Π΅ ΠΏΡ€ΠΎΡΡ‚ΠΎ нСсколько Π½ΠΎΠ²Ρ‹Ρ… свойств, ΠΏΡ€ΠΈΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… ΠΊ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ языкам. БыстрСС это Π½ΠΎΠ²Ρ‹ΠΉ шаг Π² ΠΎΡΠΌΡ‹ΡΠ»Π΅Π½ΠΈΠΈ процСссов Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ООП, Π½ΡƒΠΆΠ½ΠΎ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° ΠΌΠΈΡ€ ΠΈΠ½Π°Ρ‡Π΅. БобствСнноС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ языка программирования (Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Π‘++) Π½Π΅ ΠΏΡ€ΠΈΠ½ΡƒΠΆΠ΄Π°Π΅Ρ‚ ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ программистом.

Π“Π»Π°Π²Π½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΉ популярности ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ послСдних дСсятилСтий Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π²:

1. НадСТды, Ρ‡Ρ‚ΠΎ ООП ΠΌΠΎΠΆΠ΅Ρ‚ просто ΠΈ Π±Ρ‹ΡΡ‚Ρ€ΠΎ ΠΏΠΎΠ²Π»Π΅Ρ‡ΡŒ рост ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ надСТности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, помогая Ρ‚Π΅ΠΌ самым Ρ€Π°Π·Π²ΡΠ·Π°Ρ‚ΡŒ кризис Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии;

2. ВозмоТности ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ большиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹Π΅ для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования.

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

ΠšΠ»Π°ΡΡΡ‹

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

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

ИдСя классов ΠΏΡ€ΠΈΡˆΠ»Π° ΠΈΠ· Ρ€Π°Π±ΠΎΡ‚ ΠΏΠΎ Π±Π°Π·Π°ΠΌ Π·Π½Π°Π½ΠΈΠΉ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΏΠΎ ΠΈΡΠΊΡƒΡΡΡ‚Π²Π΅Π½Π½ΠΎΠΌΡƒ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Ρƒ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ классификации Π² Π·ΠΎΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π±ΠΎΡ‚Π°Π½ΠΈΠΊΠ΅, Ρ…ΠΈΠΌΠΈΠΈ, дСталях машин, нСсут Π² ΡΠ΅Π±Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ идСю, Ρ‡Ρ‚ΠΎ Π»ΡŽΠ±ΡƒΡŽ Π²Π΅Ρ‰ΡŒ всСгда ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ частным случаСм Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ понятия. ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ яблоко — это Π² Ρ†Π΅Π»ΠΎΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ яблоко, Π²ΠΎΠΎΠ±Ρ‰Π΅ яблоко, Π° Π»ΡŽΠ±ΠΎΠ΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ яблоко — Ρ„Ρ€ΡƒΠΊΡ‚. ИмСнно поэтому ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ классов Π² ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… пособиях ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Ρ‚Π°ΠΊ часто ΡƒΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ яблоки ΠΈ Π³Ρ€ΡƒΡˆΠΈ.

Π’Π΅Π·Π΄Π΅ Π΄Π°Π»Π΅Π΅ слова «ΠΊΠ»Π°ΡΡ», «ΠΎΠ±ΡŠΠ΅ΠΊΡ‚», «ΠΈΠ½Ρ‚СрфСйс» ΠΈ «ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°» Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒΡΡ Π² ΡΠ²ΠΎΠΈΡ… ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… значСниях, Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ООП.

Π’ Π»ΡŽΠ±ΠΎΠΉ систСмС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ мноТСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². НСкторыС ΠΈΠ· Π½ΠΈΡ… «ΠΏΠΎΡ…ΠΎΠΆΠΈ» ΠΈ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹. НапримСр, Π² Π±Π°Π½ΠΊΠΎΠ²ΡΠΊΠΎΠΉ систСмС имССтся мноТСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²-счСтов ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ². ΠžΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² классы.

ВсС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ класса ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ интСрфСйсом ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ этот интСрфСйс ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ способом. Π”Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса Π² ΠžΠžΠŸ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ состояниСм, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ всСгда тСорСтичСски Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ состояниС ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΡΡ‚Π°Π» Ρ€Π°Π²Π½Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ.

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

Π˜Π½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ экзСмплярами класса, Π° класс Π² ΠžΠžΠŸ — это шаблон ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ строятся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, наша банковская систСма состоит ΠΈΠ· ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ€ΠΎΠ² Ρ‚Ρ€Π΅Ρ… классов: класса счСтов, класса Π±Π°Π½ΠΊΠΎΠΌΠ°Ρ‚ΠΎΠ² ΠΈ ΠΊΠ»Π°ΡΡΠ° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ². Названия классов Π² ΠžΠžΠŸ ΠΏΠΈΡˆΡƒΡ‚ΡΡ с Π±ΠΎΠ»ΡŒΡˆΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹, Π° Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² — с ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΎΠΉ. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½Π°Ρ Π½ΠΈΠΆΠ΅ графичСская схСма классов соотвСтствуСт обозначСниям, принятым Π² Π£Π½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ языкС модСлирования UML.

ΠšΠ»Π°ΡΡΡ‹ Π² ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ банковской систСмС

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

Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ счСтов Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ классы

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

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

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

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ систСму Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±Π°Π½ΠΊΠ°. Π­Ρ‚Π° систСма ΠΌΠΎΠ³Π»Π° Π±Ρ‹Ρ‚ΡŒ осущСствлСна ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π‘Ρ…Π΅ΠΌΠ° взаимодСйствия ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ снятия Π΄Π΅Π½Π΅Π³ Ρ‡Π΅Ρ€Π΅Π· Π±Π°Π½ΠΊΠΎΠΌΠ°Ρ‚ ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚ 3 ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°: «ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Иванов», «Π±Π°Π½ΠΊΠΎΠΌΠ°Ρ‚ Π½Π° Π’вСрской» ΠΈ «ΡΡ‡Π΅Ρ‚ № 66 579 801?, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Π² Π΄Π°Π½Π½ΠΎΠΌ Π±Π°Π½ΠΊΠ΅ для Иванова. Подойдя ΠΊ Π±Π°Π½ΠΊΠΎΠΌΠ°Ρ‚Ρƒ ΠΈ Π·Π°ΡΡƒΠ½ΡƒΠ² свою ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΡƒ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ «ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Иванов» посылаСт Π±Π°Π½ΠΊΠΎΠΌΠ°Ρ‚Ρƒ сообщСниС «ΠΠ°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ». ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ² Ρ‚Π°ΠΊΠΎΠ΅ сообщСниС, Π±Π°Π½ΠΊΠΎΠΌΠ°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΠΊΡ€Π°Π½ ΠΊΠ°ΠΊΡƒΡŽ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠΎΠ΄ доступа, Ρ‚. Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ «Π±Π°Π½ΠΊΠΎΠΌΠ°Ρ‚ Π½Π° Π’вСрской» посылаСт сообщСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ «ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Иванов» — «Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄». Если идСнтификация ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, «ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Иванов» просит Π²Ρ‹Π΄Π°Ρ‚ΡŒ Π΅ΠΌΡƒ 1000 Ρ€ΡƒΠ±Π»Π΅ΠΉ. Он ΠΏΠΎΡΡ‹Π»Π°Π΅Ρ‚ сообщСниС ΠΎΠ± ΡΡ‚ΠΎΠΌ Π±Π°Π½ΠΊΠΎΠΌΠ°Ρ‚Ρƒ, Π° Ρ‚ΠΎΡ‚ Π² ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ «ΡΡ‡Π΅Ρ‚ № 66 579 801?. ΠŸΡ€ΠΈΠ½ΡΠ² это сообщСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ «ΡΡ‡Π΅Ρ‚ № 66 579 801? провСряСт Π΅ΡΡ‚ΡŒ Π»ΠΈ Ρƒ Π½Π΅Π³ΠΎ 1000 Ρ€ΡƒΠ±Π»Π΅ΠΉ, ΠΈ, Ссли Π΅ΡΡ‚ΡŒ, пСрСсылаСт Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ½ΡΡ‚ΠΈΠ΅ Π΄Π΅Π½Π΅Π³, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ свой баланс Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ сумму. Π‘Π°Π½ΠΊΠΎΠΌΠ°Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ дСньги ΠΈ Π½Π° ΡΡ‚ΠΎΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° заканчиваСтся.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ дСйствия пСрСдавая Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ сообщСния.

ОписаниС Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ систСмы. Π’Π΅ ΠΆΠ΅ ΡΠ°ΠΌΡ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ — «ΡΡ‡Π΅Ρ‚ № 66 579 801? ΠΈ «ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Иванов» — Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΡ‡Π°Π²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΎΡ‚Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±Π°Π½ΠΊΠ° для снятиС ΠΈΠ»ΠΈ зачислСния Π΄Π΅Π½Π΅Π³ Π½Π° ΡΠ²ΠΎΠΉ счСт.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ ситуация являСтся ярким ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ сущности понятия «ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠžΠžΠŸ». Π‘Π»ΠΎΠΆΠ½ΠΎ Π΄Π°Ρ‚ΡŒ Ρ‡Π΅Ρ‚ΠΊΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ этому ΠΏΠΎΠ½ΡΡ‚ΠΈΡŽ, ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ Ρ†ΠΈΡ‚Π°Ρ‚Ρƒ этого опрСдСлСния Π˜Π²Π°Ρ€Π° Якобсона:

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠžΠžΠŸ — это ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ, способная ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ своС состояниС (ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ) ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅) для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ этого состояния.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ — это модСль ΠΈΠ»ΠΈ абстракция Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ сущности Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ систСмС. ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚ модСлирования ΠΏΡ€ΠΈ построСнии ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ΠžΠžΠŸ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ. НапримСр, ΠΌΠΎΠ³ΡƒΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ абстракции, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈ построСнии ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

Β· абстракция понятия: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ — это модСль ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ понятия ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области;

Β· абстракция дСйствия: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ для выполнСния ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ;

Β· абстракция Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ, Π±ΠΎΠ»Π΅Π΅ высокими уровнями абстракции;

Β· случайная абстракция: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ собой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

БостояниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ΠžΠžΠŸ

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠžΠžΠŸ характСризуСтся своим состояниСм. БостояниС банковского счСта — это сумма Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… Π½Π° Π½Π΅ΠΌ Π΄Π΅Π½Π΅Π³. БостояниС Π±Π°Π½ΠΊΠΎΠΌΠ°Ρ‚Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±Ρ состояниС «Π²ΠΊΠ»ΡŽΡ‡Π΅Π½» ΠΈΠ»ΠΈ «Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½», Π³ΠΎΡ‚ΠΎΠ² ΠΈΠ»ΠΈ Π½Π΅ Π³ΠΎΡ‚ΠΎΠ² ΠΊ ΠΏΡ€ΠΈΠ½ΡΡ‚ΠΈΡŽ запроса, Π½Π°Π»ΠΈΡ‡ΠΈΡŽ Π΄Π΅Π½Π΅Π³ Π² Π±Π°Π½ΠΊΠΎΠΌΠ°Ρ‚Π΅.

БостояниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° характСризуСтся Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ². Π’ Π½Π°ΡˆΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρƒ ΡΡ‡Π΅Ρ‚Π° Π΅ΡΡ‚ΡŒ атрибутбаланс. Π’ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΌ случаС ΠΎΠ½ ΠΎΡ‚раТаСтся числом — количСством Ρ€ΡƒΠ±Π»Π΅ΠΉ ΠΈ ΠΊΠΎΠΏΠ΅Π΅ΠΊ Π½Π° ΡΡ‡Π΅Ρ‚Ρƒ. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ снятия ΠΈΠ»ΠΈ зачислСния Π½Π° ΡΡ‡Π΅Ρ‚ измСняСт баланс ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° «ΡΡ‡Π΅Ρ‚ № 66 579 801?. Π£ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° «Π±Π°Π½ΠΊΠΎΠΌΠ°Ρ‚ Π½Π° Π’вСрской» Π΅ΡΡ‚ΡŒ нСсколько Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ². ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π΄Π΅Π½Π΅Π³ Π² Π±Π°Π½ΠΊΠΎΠΌΠ°Ρ‚Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ числом. БостояниС «Π²ΠΊΠ»ΡŽΡ‡Π΅Π½» ΠΈΠ»ΠΈ «Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½» ΠΈ ΡΠΎΡΡ‚ояниС «Π³ΠΎΡ‚ΠΎΠ² ΠΈΠ»ΠΈ Π½Π΅ Π³ΠΎΡ‚ΠΎΠ² ΠΊ ΠΏΡ€ΠΈΠ½ΡΡ‚ΠΈΡŽ запроса» — логичСским Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.

Π‘Ρ‚ΠΎΠΈΡ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ΠžΠžΠŸ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ значСния (число, логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Ρ‚. Π΄.), Π½ΠΎ ΠΈ ΡΠ»ΠΎΠΆΠ½Ρ‹Π΅ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. НапримСр, наш Π±Π°Π½ΠΊ для Ρ†Π΅Π»Π΅ΠΉ контроля Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ всСх Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ. Вранзакция — это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ (характСристики) Ρ‚ΠΈΠΏ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, сумма ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π΄Π΅Π½Π΅Π³, мСсто ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΈ ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚ΠΎΠ² этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π£ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° «ΡΡ‡Π΅Ρ‚ № 66 579 801? появится Π½ΠΎΠ²Ρ‹ΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ — «ΠΈΡΡ‚ория Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²-Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ.

ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ класс инкапсуляция

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования: инкапсуляция, наслСдованиС, ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ

Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ (encapsulation) — это ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΊΠΎΠ΄, ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π·Ρ‚ΠΈΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ ΠΈ Ρ‚ΠΎ, ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΎΡ‚ Π²Π½Π΅ΡˆΠ½Π΅Π³ΠΎ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° ΠΈΠ»ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ использования. Π’ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ΄ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ вмСстС; Π² ΡΡ‚ΠΎΠΌ случаС говорят, Ρ‡Ρ‚ΠΎ создаётся Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ «Ρ‡Ρ‘Ρ€Π½Ρ‹ΠΉ ящик». Когда ΠΊΠΎΠ΄Ρ‹ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠΌ способом, создаётся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (object). Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ — это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡŽ.

Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊΠΎΠ΄Ρ‹ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ (private). Π—Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π΄Ρ€ΡƒΠ³ΠΈΡ… частСй этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ нСдоступны для Ρ‚Π΅Ρ… частСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π²Π½Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Если ΠΊΠΎΠ΄Ρ‹ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ, Ρ‚ΠΎ, нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π·Π°Π΄Π°Π½Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΎΠ½ΠΈ доступны ΠΈ Π΄Π»Ρ Π΄Ρ€ΡƒΠ³ΠΈΡ… частСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π₯Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎΠΉ являСтся ситуация, ΠΊΠΎΠ³Π΄Π° открытая Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ интСрфСйс Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… элСмСнтов ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

На ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ являСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ‚ΠΈΠΏΠ°. ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ странным, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΊΠΎΠ΄Ρ‹ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅, ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. Однако ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ это ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° являСтся составной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ (polymorphism) (ΠΎΡ‚ Π³Ρ€Π΅Ρ‡Π΅ΡΠΊΠΎΠ³ΠΎ polymorphos) — это свойство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ имя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Π²ΡƒΡ… ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ схоТих, Π½ΠΎ Ρ‚СхничСски Ρ€Π°Π·Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡. ЦСлью ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ°, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, являСтся использованиС ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ для задания ΠΎΠ±Ρ‰ΠΈΡ… для класса дСйствий. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ дСйствия Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр для языка Π‘ΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ поддСрТиваСтся нСдостаточно, Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠΉ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ числа Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‚Ρ€Ρ‘Ρ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ: abs (), labs () ΠΈ fabs (). Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΡƒΡŽ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ Ρ†Π΅Π»Ρ‹Ρ…, Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… ΠΈ Ρ‡ΠΈΡΠ΅Π» с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ соотвСтствСнно. Π’ Π‘++ каТдая ΠΈΠ· ΡΡ‚ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½Π° abs (). Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, опрСдСляСт, какая конкрСтная вСрсия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ выполняСтся. Π’ Π‘++ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для мноТСства Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… дСйствий. Π­Ρ‚ΠΎ называСтся ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (function overloading).

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

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

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π²Π°ΠΌ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ стСпСни слоТности ΠΏΡƒΡ‚Ρ‘ΠΌ создания ΠΎΠ±Ρ‰Π΅Π³ΠΎ для Π½ΠΈΡ… стандартного интСрфСйса для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… дСйствий.

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

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ