ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов: ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌ ΠΏΠ»Π°Π½ΠΎΠΌ

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

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

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов: ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌ ΠΏΠ»Π°Π½ΠΎΠΌ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов: ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌ ΠΏΠ»Π°Π½ΠΎΠΌ

Аннотация Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов — ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π²ΠΈΠ΄ΠΎΠ² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ UML. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ созданиС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов Π·Π½Π°ΠΌΠ΅Π½ΡƒΠ΅Ρ‚ собой ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ процСсса Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Π½Π°Ρ‡Π°Π»ΠΎ процСсса проСктирования. ΠœΡ‹ ΡƒΠΆΠ΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Π»ΠΈΡΡŒ с Π½ΠΈΠΌΠΈ Π² Π»Π΅ΠΊΡ†ΠΈΠΈ «Π’ΠΈΠ΄Ρ‹ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ», Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΠ·ΡƒΡ‡ΠΈΠΌ ΠΈΡ… Π±ΠΎΠ»Π΅Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Π’ ΡΡ‚ΠΎΠΉ Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΌΡ‹ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Ρ‚Π°ΠΊΠΈΠ΅ вопросы: ΠΊΠ°ΠΊ класс изобраТаСтся Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ UML; Π° Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ; ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ класса; всСгда Π»ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ классы; ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ классами.

1. Как класс изобраТаСтся Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ UML?

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

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

Рис. 1.1.

2. А Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ?

ΠœΡ‹ ΡƒΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ класс изобраТаСтся ΠΈ Π²Ρ‹Π³Π»ΡΠ΄ΠΈΡ‚ «ΡΠ½Π°Ρ€ΡƒΠΆΠΈ». А Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² класса? ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΎΠ± ΡΡ‚ΠΎΠΌ Π·Π½Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ. Для Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ Π΅Π³ΠΎ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ выступаСт Π² Ρ€ΠΎΠ»ΠΈ Ρ‡Π΅Ρ€Π½ΠΎΠ³ΠΎ ящика. Бкрывая ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΌΡ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ Π½Π°Π΄Π΅ΠΆΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ. БСйчас ΠΌΡ‹ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΊΠ°ΠΊ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· ΠΏΠΎΠ»Ρ зрСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΅ΠΌΡƒ Π·Π½Π°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ.

ЧитатСля ΠΌΠΎΠΆΠ΅Ρ‚ слСгка ΡΠΌΡƒΡ‚ΠΈΡ‚ΡŒ слово «ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΡ‹ Π·Π»ΠΎΡƒΠΏΠΎΡ‚рСбляли Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Π°Π±Π·Π°Ρ†Π΅. Π—Π°Ρ‡Π΅ΠΌ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ ΠΊΠ»Π°ΡΡΡ‹? ВнСсСм ΡΡΠ½ΠΎΡΡ‚ΡŒ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ Π² ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ созданныС ΠΊΠ΅ΠΌ-Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Π΅Ρ‚ Π² Ρ€ΠΎΠ»ΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π—Π°Ρ‡Π΅ΠΌ Π΅ΠΌΡƒ Π·Π½Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ — ΠΎΠ½ Π·Π½Π°Π΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Π½Π°Π΄ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ! Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Π° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π»ΠΈ ΠΈΠ· Π½Π°Ρ Π·Π½Π°ΡŽΡ‚, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ устроСн ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€ — ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса «Π‘Ρ‹Ρ‚ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΈΠ±ΠΎΡ€» ?

Π‘ΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ устройства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² называСтся инкапсуляциСй. Если Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ «Π½Π°ΡƒΡ‡Π½Ρ‹ΠΌ» языком, Ρ‚ΠΎ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ — это Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π½Π΅ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… сущСствСнных характСристик Π΅Π³ΠΎ ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠ³ΠΎ. Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ Π½ΡƒΠΆΠ½Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ иллюзию простоты ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (ΠΏΠΎ ΡΠ»ΠΎΠ²Π°ΠΌ Π“. Π‘ΡƒΡ‡Π°). Но Π²Π΅Ρ€Π½Π΅ΠΌΡΡ ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ с Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€ΠΎΠΌ. Нам этот ΠΏΡ€ΠΈΠ±ΠΎΡ€ каТСтся ΠΎΡ‡Π΅Π½ΡŒ простым Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½ΠΈΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ простой ΠΈ ΠΏΠΎΠ½ΡΡ‚Π½Ρ‹ΠΉ интСрфСйс — ΠΏΡƒΠ»ΡŒΡ‚ дистанционного управлСния. ΠœΡ‹ Π·Π½Π°Π΅ΠΌ: для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π³Ρ€ΠΎΠΌΠΊΠΎΡΡ‚ΡŒ Π·Π²ΡƒΠΊΠ°, Π½Π°Π΄ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π²ΠΎΡ‚ эту ΠΊΠ½ΠΎΠΏΠΊΡƒ, Π° Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊΠ°Π½Π°Π» — Π²ΠΎΡ‚ эту. Как Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€ устроСн Π²Π½ΡƒΡ‚Ρ€ΠΈ, ΠΌΡ‹ Π½Π΅ Π·Π½Π°Π΅ΠΌ. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ — Π² ΠΎΡ‚сутствиС ΠΏΡƒΠ»ΡŒΡ‚Π° Π”Π£ Ρ‚Π°ΠΊΠΎΠ΅ Π·Π½Π°Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ для нас ΠΈ Π²Π΅ΡΡŒΠΌΠ° опасным для самого Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€Π°, Π²Π·Π΄ΡƒΠΌΠ°ΠΉ ΠΌΡ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π³Ρ€ΠΎΠΌΠΊΠΎΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ паяльника. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ-Ρ‚ΠΎ ΠΏΡƒΠ»ΡŒΡ‚ Π”Π£ ΠΈ Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ ΠΎΡ‚ Π½Π°Ρ «Π²Π½ΡƒΡ‚рСнности» Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€Π°! Π’ΠΎΡ‚ Ρ‚Π°ΠΊ инкапсуляция рСализуСтся Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠΈΡ€Π΅.

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ инкапсуляция обСспСчиваСтся Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ — с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚. Π½. ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² видимости. Π‘ ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° со ΡΡ‚ΠΎΡ€ΠΎΠ½Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π—Π²ΡƒΡ‡ΠΈΡ‚ это Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡƒΠ³Π°ΡŽΡ‰Π΅, Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ всС просто. Если Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΈΠ»ΠΈ опСрация описаны с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ private, Ρ‚ΠΎ Π΄ΠΎΡΡ‚ΡƒΠΏ ΠΊ Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ классС. Если ΠΆΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΈΠ»ΠΈ опСрация описаны с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ видимости public, Ρ‚ΠΎ ΠΊ Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΈΠ· Π»ΡŽΠ±ΠΎΠΉ части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ protected Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ этого ΠΆΠ΅ класса ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², создаваСмых Π½Π° Π΅Π³ΠΎ основС. Π’ ΡΠ·Ρ‹ΠΊΠ°Ρ… программирования ΠΌΠΎΠ³ΡƒΡ‚ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ видимости, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ доступ Π½Π° Π±ΠΎΠ»Π΅Π΅ высоком ΡƒΡ€ΠΎΠ²Π½Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊ ΠΊΠ»Π°ΡΡΠ°ΠΌ ΠΈΠ»ΠΈ ΠΈΡ… Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ смысл инкапсуляции ΠΎΡ‚ ΡΡ‚ΠΎΠ³ΠΎ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ‚ся. Π’ UML Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ доступа ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ символами слСва ΠΎΡ‚ ΠΈΡ… ΠΈΠΌΠ΅Π½:

Π’Π°Π±Π»ΠΈΡ†Π° 1.

Π‘ΠΈΠΌΠ²ΠΎΠ»

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

public — ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ доступ

;

private — Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ класса

#

protected — Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ этого ΠΆΠ΅ класса ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², создаваСмых Π½Π° Π΅Π³ΠΎ основС

РассмотрСнный Ρ€Π°Π½Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€ΠΎΠΌ срСдствами UML (ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, это ΠΎΡ‡Π΅Π½ΡŒ высокоуровнСвая абстракция) ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊ (рис. 1.2):

Рис. 1.2.

НС ΠΏΡ€Π°Π²Π΄Π° Π»ΠΈ, всС понятно ΠΈ ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ просто? Π—Π°Ρ‡Π΅ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π·Π½Π°Ρ‚ΡŒ числовыС значСния частот ΠΊΠ°Π½Π°Π»ΠΎΠ²? Он Π·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ достаточно Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ автоматичСского поиска ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΈ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€ всС сдСлаСт Π·Π° Π½Π΅Π³ΠΎ. Π’ΠΎΡ‚ Π²Π°ΠΌ ΠΈ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ — оказываСтся, ΠΎΠ½Π° ΠΏΠΎΠ²ΡΡŽΠ΄Ρƒ Π²ΠΎΠΊΡ€ΡƒΠ³ нас. ΠžΠ³Π»ΡΠ½ΠΈΡ‚Π΅ΡΡŒ ΠΈ ΠΏΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅, сколько Π²Π΅Ρ‰Π΅ΠΉ Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΈΠΌΠ΅ΡŽΡ‚ скрытыС свойства ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ скрытыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π˜ΡΠΏΡƒΠ³Π°Π»ΠΈΡΡŒ? Π’ΠΎΡ‚ Ρ‚ΠΎ-Ρ‚ΠΎ ΠΆΠ΅!

3. Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ класса?

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π»ΠΈ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡŽ — ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΡ€Π΅Π΄ΡΡ‚Π² Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ВсС Π²Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ понятно, Π½ΠΎ ΠΊΠ°ΠΊ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ?

Если ΡƒΠΆ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Π·Π°Ρ‰ΠΈΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρ‚ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Ρ‹Π»Π° эффСктивной, Π½Π°Π΄ΠΎ ΠΏΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ Π½Π΅ΠΊΠΎΠ΅ΠΌ стандартном ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΌ, Π½Π΅ Π·Π°Π²ΠΈΡΡΡ‰ΠΈΠΌ ΠΎΡ‚ ΡΠ·Ρ‹ΠΊΠ° программирования способС доступа ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠΉ стандартный способ доступа Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ простым ΠΈ Ρ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния использования, ΠΈ Ρ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. ВспомнитС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€ΠΎΠΌ. НаТимая ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΏΡƒΠ»ΡŒΡ‚Π΅, ΠΌΡ‹ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€ откликнСтся Π½Π° ΡΡ‚ΠΎ дСйствиС ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ — ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ, Π° Π½Π΅ ΠΈΠ½Π°Ρ‡Π΅. Π’ΠΎ Π΅ΡΡ‚ΡŒ, с ΠΎΠ΄Π½ΠΎΠΉ стороны, ΠΏΡƒΠ»ΡŒΡ‚ Π”Π£ являСтся срСдством доступа ΠΊ ΡΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ опСрациям, выполняСмым Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€ΠΎΠΌ, Π° Ρ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны — ΠΏΡƒΠ»ΡŒΡ‚ обСспСчиваСт Π½ΡƒΠΆΠ½ΠΎΠ΅ для нас ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€Π°. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡƒΠ»ΡŒΡ‚ являСтся Ρ‚Π°ΠΊΠΈΠΌ стандартным срСдством доступа ΠΊ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€Ρƒ. МоТно Π΄Π°ΠΆΠ΅ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, срСдством доступа, Π½Π΅ Π·Π°Π²ΠΈΡΡΡ‰ΠΈΠΌ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€Π° — вспомнитС ΠΎΠ± ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡƒΠ»ΡŒΡ‚Π°Ρ… ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ Π·Π²ΡƒΠΊ Π½Π°Π΄ΠΎΠ΅Π΄Π»ΠΈΠ²ΠΎΠΉ Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹ Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π² Π²Π°Π³ΠΎΠ½Π΅ ΠΏΠΎΠ΅Π·Π΄Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ КПК!

Π’ Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ с Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€ΠΎΠΌ Ρƒ Π½Π°Ρ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π»ΡŒΠΊΠ½ΡƒΠ»ΠΎ слово интСрфСйс. И Π½Π΅ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π»ΡŒΠΊΠ½ΡƒΠ»ΠΎ: ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ‚ΠΎΡ‚ самый стандартный способ доступа ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. Π‘ΠΎΠ»Π΅Π΅ строго, интСрфСйс — это логичСская Π³Ρ€ΡƒΠΏΠΏΠ° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… (public) ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Один ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько интСрфСйсов. Π£ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΡ… Π΄Π²Π° — ΠΏΡƒΠ»ΡŒΡ‚ Π”Π£ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΊΠΎΡ€ΠΏΡƒΡΠ΅. А ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Π±ΠΎΠ»ΡŒΡˆΠ΅ — вспомнитС ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π±Ρ‹Ρ‚ΠΎΠ²ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΎΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ КПК ΠΈΠ»ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡƒΠ»ΡŒΡ‚Π° Π”Π£.

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

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

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ всСгда рСализуСтся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ классом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Ρ‚Π°ΠΊΠΎΠΌ случаС Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ классом, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌ интСрфСйс. Как ΠΌΡ‹ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ Ρ€Π°Π½Π΅Π΅, ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько интСрфСйсов. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ класс этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ этих интСрфСйсов. К Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ Π² Π³ΠΎΠ»ΠΎΠ²Π΅ читатСля ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Ρ€Π΅Ρ‚ΡŒ вопрос: «ΠœΡ‹ ΠΆΠ΅, Π²Ρ€ΠΎΠ΄Π΅ Π±Ρ‹, Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ ΠΊΠ»Π°ΡΡΠ°Ρ… ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ…, Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Π΄Ρ€ΡƒΠ³ ΠΏΠ΅Ρ€Π΅ΡˆΠ»ΠΈ Π½Π° ΠΈΠ½Ρ‚СрфСйсы. Π”Π° ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π»ΠΈ ΠΎΠ½ΠΈ Π² ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ программирования ΠΈΠ»ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ просто изящной тСорСтичСской конструкциСй?». ΠžΡ‚Π²Π΅Ρ‚ Π½Π° ΡΡ‚ΠΎΡ‚ вопрос прост: ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ программирования (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, COM, CORBA, Java Beans) Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ интСрфСйсов, Π½ΠΎ ΠΈ, ΠΏΠΎ ΡΡƒΡ‚ΠΈ, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ основаны Π½Π° Π½Π΅ΠΌ.

Π§Ρ‚ΠΎ ΠΆ, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, ΠΏΡ€ΠΈΡˆΠ»ΠΎ врСмя ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ интСрфСйс изобраТаСтся Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°Ρ…. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ нСсколькими способами. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈ ΡΠ°ΠΌΡ‹ΠΉ простой ΠΈΠ· Π½ΠΈΡ… — это класс со ΡΡ‚Π΅Ρ€Π΅ΠΎΡ‚ΠΈΠΏΠΎΠΌ <> (рис. 1.3):

Рис. 1.3.

Π­Ρ‚ΠΎΡ‚ способ Ρ…ΠΎΡ€ΠΎΡˆ, Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ прСдоставляСт интСрфСйс. Если ΠΆΠ΅ Ρ‚Π°ΠΊΠΈΠ΅ подробности Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π΅ Π²Π°ΠΆΠ½Ρ‹, прСдоставляСмый интСрфСйс ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ Π² Π²ΠΈΠ΄Π΅ ΠΊΡ€ΡƒΠΆΠΎΡ‡ΠΊΠ° ΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ говорят, «Π»Π΅Π΄Π΅Π½Ρ†Π°» (lollipop) (рис. 1.4):

Рис. 1.4.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΠΉ Π·Π½Π°Ρ‡ΠΎΠΊ Π½Π° Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΏΠ°ΠΏΠΊΠΈ ConduitSet. Π­Ρ‚ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ подсистСмы, ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π½Π΅ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, Π° ΠΏΡ€ΠΎΡΡ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ стСрСотип <>. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, ΠΎΠ± ΡΡ‚ΠΎΠΌ ΠΌΡ‹ Π΅Ρ‰Π΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ.

И Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ изобраТСния интСрфСйса. Он Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ описанным Ρ€Π°Π½Π΅Π΅ способам, Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся для изобраТСния интСрфСйсов, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ…ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ для выполнСния Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ΡΡ ΠΎΠ½ ΠΎΡ‡Π΅Π½ΡŒ простым ΠΈ Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ символом. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, судитС сами (рис. 1.5):

Рис. 13.5.

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

Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°Ρ… довольно часто ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ (рис. 1.6):

Рис. 1.6.

Π”Π°, кстати, Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ названия интСрфСйсов Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Π±ΡƒΠΊΠ²Ρ‹ I? Π­Ρ‚Π° традиция пошла ΠΈΠ· ΡΠ·Ρ‹ΠΊΠ° Java, ΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, ΠΎΠ½Π° вСсьма ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Тизнь, Ссли Π½ΡƒΠΆΠ½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, быстро Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅, составлСнной Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ.

4. ВсСгда Π»ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ классы?

НачнСм с Π²ΠΎΠΏΡ€ΠΎΡΠ°, казалось Π±Ρ‹, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅ΠΌΠΎΠΌΡƒ вопросу, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ — всСгда Π»ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ класс для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ? ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, «Π½Π΅Ρ‚». Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ странно ΠΈ Π½Π΅ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ. «Π€ΠΈΡˆΠΊΠ°» состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ классы, адаптируя ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ для выполнСния Π½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ появляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ систСму классов с Π½ΡƒΠ»Ρ, Π° Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ созданы Ρ€Π°Π½Π΅Π΅, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, нашС высказываниС ΠΎ ΡΡ‚ранности ΠΈ Π½Π΅ΡΡ„фСктивности создания Π½ΠΎΠ²Ρ‹Ρ… классов Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся истиной Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ инстанции. ΠœΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ситуации, ΠΊΠΎΠ³Π΄Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ классы ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ Π½Π΅ ΡƒΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€Π°, ΠΈ Ρ‚ΠΎΠ³Π΄Π° трСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ класс. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ситуаций, ΠΊΠΎΠ³Π΄Π° созданный класс (Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅, Π΅Π³ΠΎ Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ²) практичСски повторяСт ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ, лишь Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡΡΡŒ ΠΎΡ‚ Π½Π΅Π³ΠΎ. ВсС-Ρ‚Π°ΠΊΠΈ Π»ΡƒΡ‡ΡˆΠ΅ Π½Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ вСлосипСд ΠΈ ΡΡ‚Π°Ρ€Π°Ρ‚ΡŒΡΡ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ классы Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ…, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли подходящих классов Π½Π΅ Π½Π°ΡˆΠ»ΠΎΡΡŒ — ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, Π² ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΌΠΎΠ³ΡƒΡ‚ (ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹!) ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ основой для Π΄Ρ€ΡƒΠ³ΠΈΡ… классов. ΠœΡ‹ ΡƒΠΆΠ΅ Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ созданиС классов ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ объСм усилий ΠΏΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС, сказанноС Π²Ρ‹ΡˆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠΎΠΉ (рис. 1.7):

инкапсуляция наслСдованиС ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ класс Рис. 1.7.

Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ нСсколько ΠΏΡ€ΠΈΡ‡ΠΈΠ½, ΠΏΠΎΡ‡Π΅ΠΌΡƒ стоит ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ классы:

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, идя этим ΠΏΡƒΡ‚Π΅ΠΌ, ΠΌΡ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΏΠ»ΠΎΠ΄Π°ΠΌΠΈ Ρ€Π°Π½Π΅Π΅ принятых Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ссли ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ ΠΌΡ‹ ΡƒΠΆΠ΅ Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, Π·Π°Ρ‡Π΅ΠΌ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ всС «Ρ Π½ΡƒΠ»Ρ», повторяя ΡƒΠΆΠ΅ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½Ρ‹Π΅ дСйствия?

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΌ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ классы ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ Π½Π° ΠΈΡ… ΠΎΡΠ½ΠΎΠ²Π΅ Π½ΠΎΠ²Ρ‹Π΅, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ практичСски Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎ, добавляя лишь Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π½Π°ΠΌ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π΄Π΅Ρ‚Π°Π»ΠΈ — Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

Π’-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ классы, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΡ‚Π»Π°ΠΆΠ΅Π½Ρ‹ ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ сСбя Π² Ρ€Π°Π±ΠΎΡ‚Π΅. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π½Π΅ Π½Π°Π΄ΠΎ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Π½Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ, тСстированиС ΠΈ Ρ‚. Π΄., — ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΡ‚Π»Π°ΠΆΠ΅Π½Π½Ρ‹ΠΌ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» сСбя Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΈ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡƒΠΆΠ΅ выявлСно ΠΈ ΠΈΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ошибок.

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

ΠžΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ (ΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ часто говорят, наслСдованиС) Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°Ρ… обозначаСтся ΠΎΡ‡Π΅Π½ΡŒ просто — Π½Π΅Π·Π°ΠΊΡ€Π°ΡˆΠ΅Π½Π½ΠΎΠΉ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ стрСлкой, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠΉ Π½Π° ΡΡƒΠΏΠ΅Ρ€ΠΊΠ»Π°ΡΡ (рис. 1.8).

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ эффСктивно ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ наслСдованиС, обратимся ΠΊ ΠΊΠ»Π°ΡΡΠΈΠΊΠ°ΠΌ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊ Π“. Π‘ΡƒΡ‡Ρƒ. Он ΡΠΎΠ²Π΅Ρ‚ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π² Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ:

1. НайдитС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΠΈ, ΠΎΠ±Ρ‰ΠΈΠ΅ для Π΄Π²ΡƒΡ… ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ классов ΠΈΠ· Π΄Π°Π½Π½ΠΎΠΉ совокупности. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ дублирования структуры ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

2. ВынСситС эти элСмСнты Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ‰ΠΈΠΉ супСркласс, Π° Π΅ΡΠ»ΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚, Ρ‚ΠΎ ΡΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ класс.

3. ΠžΡ‚ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎ подклассы Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚ ΡΡƒΠΏΠ΅Ρ€ΠΊΠ»Π°ΡΡΠ°, установив ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ обобщСния.

Рис. 1.8.

А Π²ΠΎΡ‚ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ примСнСния этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° (рис. 1.9):

Рис. 1.9.

На ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд, каТСтся странным, Ρ‡Ρ‚ΠΎ класс «Ρ‚ΠΎΡ‡ΠΊΠ°» Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², Π° ΠΊΡ€ΡƒΠ³ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ радиус. Π‘ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ, Π²Ρ€ΠΎΠ΄Π΅ Π±Ρ‹, всС понятно — ΡˆΠΈΡ€ΠΈΠ½Π° ΠΈ Π²Ρ‹ΡΠΎΡ‚Π°, Π½ΠΎ Π²ΠΎΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π³Π΄Π΅ ΠΎΠ½ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π² ΠΏΡ€ΠΎΡΡ‚ранствС, этот ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ? Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ совСтам Π‘ΡƒΡ‡Π°. Π˜Ρ‚Π°ΠΊ, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ всСх Ρ‚Ρ€Π΅Ρ… Ρ„ΠΈΠ³ΡƒΡ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ€Ρ‹ чисСл. Для Ρ‚ΠΎΡ‡ΠΊΠΈ — это Π²ΠΎΠΎΠ±Ρ‰Π΅ СдинствСнныС Π΅Π΅ Ρ…арактСристики, для ΠΊΡ€ΡƒΠ³Π° ΠΈ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° — ΠΈΡ… Ρ†Π΅Π½Ρ‚Ρ€Ρ‹ (ΠΏΠΎΠ΄ Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠΌ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΌΡ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ Ρ‚ΠΎΡ‡ΠΊΡƒ пСрСсСчСния Π΅Π³ΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ). Π’ΠΎΡ‚ ΠΎΠ½ΠΈ, ΠΎΠ±Ρ‰ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹! Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΡΠΎΠ·Π΄Π°Π»ΠΈ супСркласс «Π€ΠΈΠ³ΡƒΡ€Π°», ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Π΄Π²Π° Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° — ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ†Π΅Π½Ρ‚Ρ€Π°. ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ классы Π½Π° ΡΡ‚ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ связаны с ΠΊΠ»Π°ΡΡΠΎΠΌ «Π€ΠΈΠ³ΡƒΡ€Π°» ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ обобщСния, Ρ‚. Π΅. Π² Π½ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ «Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΠ΅» Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ — радиус, ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ Π²Ρ‹ΡΠΎΡ‚Ρƒ. Атрибуты, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ†Π΅Π½Ρ‚Ρ€Π°, эти классы ΠΈΠΌΠ΅ΡŽΡ‚ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΈ класса «Π€ΠΈΠ³ΡƒΡ€Π°» — ΠΎΠ½ΠΈ ΠΈΡ… Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ классов ΠΌΡ‹ Ρ‚ΡƒΡ‚ Π½Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅ΠΌ: понятно, Ρ‡Ρ‚ΠΎ с Π½ΠΈΠΌΠΈ Π±Ρ‹Π»Π° Π±Ρ‹ Ρ‚Π° ΠΆΠ΅ история.

Π’Π°ΠΊ, с Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ. ΠŸΡ€ΠΈΡˆΠ»ΠΎ врСмя для малСнькой ΠΏΡ€ΠΎΠ²ΠΎΠΊΠ°Ρ†ΠΈΠΈ с Π½Π°ΡˆΠ΅ΠΉ стороны. ΠšΠ»Π°ΡΡΡ‹-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΈ вСдь Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ супСркласса? Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΈΡ… ΠΈΠ½Ρ‚СрфСйсы — Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Ρ€Π°Π·Π½ΠΎΠΉ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ интСрфСйс! Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΆΠ΅ Ρ‚ΠΎΠ³Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ всС-Ρ‚Π°ΠΊΠΈ класса ΠΎΠ±ΡŠΠ΅ΠΊΡ‚? Π”Π° ΠΈ Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ это Π²ΠΎΠΎΠ±Ρ‰Π΅?

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

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

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

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

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

Рис. 1.10.

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

Π”Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΈΠ΄ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ — это ассоциация. Π­Ρ‚ΠΎ просто связь ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ. Ассоциация ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ имя, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρƒ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΏΡ€ΠΈ этом Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ чтСния связи ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π°. ΠžΠ΄Π½ΠΎΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Π°Ρ ассоциация ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ стрСлкой. ΠŸΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ сказанноС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ (рис. 1.11):

Рис. 1.11.

ΠšΡ€ΠΎΠΌΠ΅ направлСния ассоциации, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ Ρ€ΠΎΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ класс ΠΈΠ³Ρ€Π°Π΅Ρ‚ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ, ΠΈ ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², связанных ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ (рис. 1.12):

Рис. 1.12.

И Π½Π°ΡΡ‡Π΅Ρ‚ Ρ€ΠΎΠ»Π΅ΠΉ, ΠΈ Π½Π°ΡΡ‡Π΅Ρ‚ кратности Π½Π° ΡΡ‚ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ всС понятно — Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ компаниях, Π° Π²ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π² Π»ΡŽΠ±ΠΎΠΌ случаС Π½ΡƒΠΆΠ΅Π½ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ сотрудник. ΠšΡΡ‚Π°Ρ‚ΠΈ, ΠΎ ΠΊΡ€Π°Ρ‚ности. Ассоциация ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ ΠΈ Π±ΠΎΠ»Π΅Π΅ класса. Π’ ΡΡ‚ΠΎΠΌ случаС ΠΎΠ½Π° называСтся n-Π°Ρ€Π½ΠΎΠΉ ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ся Ρ€ΠΎΠΌΠ±ΠΎΠΌ Π½Π° ΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠΈ Π»ΠΈΠ½ΠΈΠΉ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΡ‚ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅, позаимствованной Π½Π°ΠΌΠΈ ΠΈΠ· Zicom Mentor (рис. 1.13):

Рис. 1.13.

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

Рис. 1.14.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΊΠ°ΠΊ Π½Π°ΠΌ каТСтся, ΠΎΡ‡Π΅Π½ΡŒ простыС ΠΈ ΠΏΠΎΠ½ΡΡ‚Π½Ρ‹Π΅. ВинчСстСр ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π½ΡƒΡ‚ΡŒ ΠΈΠ· ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΈΠ»ΠΈ Π² USB-ΠΊΠ°Ρ€ΠΌΠ°Π½, Ρ‚. Π΅. сущСствованиС ТСсткого диска с Ρ€Π°Π·Π±ΠΎΡ€ΠΊΠΎΠΉ систСмного Π±Π»ΠΎΠΊΠ° Π½Π΅ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π΅Ρ‚ся. А Π²ΠΎΡ‚ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π±Π΅Π· ΠΎΠΊΠΎΠ½ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ — с Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ ΠΎΠΊΠ½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΡ‡Π΅Π·Π°ΡŽΡ‚.

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° ваТная Π²Π΅Ρ‰ΡŒ, ΠΊΠ°ΡΠ°ΡŽΡ‰Π°ΡΡΡ ассоциации. Π’ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя классами сама ассоциация Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ свойства ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСна Π² Π²ΠΈΠ΄Π΅ класса. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ прост (рис. 1.15):

Рис. 1.15.

Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ²Ρ‹Ρ… ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊ ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΎΠ΄Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ собой ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, описаниС Ρ€Π°Π±ΠΎΡ‚, сроки ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, порядок ΠΎΠΏΠ»Π°Ρ‚Ρ‹ ΠΈ Ρ‚. Π΄.

А Π²ΠΎΡ‚ Π±ΠΎΠ»Π΅Π΅ слоТный, Π½ΠΎ, ΠΎΠΏΡΡ‚ΡŒ-Ρ‚Π°ΠΊΠΈ, взятый ΠΈΠ· Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ модСлирования ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ классами, позаимствованный Π½Π°ΠΌΠΈ ΠΈΠ· Zicom Mentor (рис. 1.16):

Рис. 1.16.

И Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ UML ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ‡Π΅Π³ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ, Π² Ρ‚ΠΎΠΌ числС ΠΈ Π΄Π»Ρ записи сказок: Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°Ρ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ сказки ΠΎ ΠšΡƒΡ€ΠΎΡ‡ΠΊΠ΅ РябС ΠΈ Π²Π·ΡΡ‚ая с ΡΠ°ΠΉΡ‚Π° конкурса ΡˆΡƒΡ‚ΠΎΠΊ Π½Π° UML (рис. 1.17):

Рис. 1.17.

Π£Π·Π½Π°Π΅Ρ‚Π΅ рассказ, Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΉ с Π΄Π΅Ρ‚ства?

Π’Ρ‹Π²ΠΎΠ΄Ρ‹ Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ся ΠΏΡƒΡ‚Π΅ΠΌ ограничСния доступа ΠΊ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡΠΌ класса ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… частСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠžΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ позволяСт ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, создавая Π½ΠΎΠ²Ρ‹Π΅ классы ΠΏΡƒΡ‚Π΅ΠΌ наслСдования ΠΎΡ‚ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ся классов.

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π΅ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°ΡΡΡŒ ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡΡ… Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ, наслСдованиС ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ — Ρ‚Ρ€ΠΈ ΠΊΠΈΡ‚Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… дСрТится ООП.

Π’ Π»ΡŽΠ±ΠΎΠΉ систСмС ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ².

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ зависимости ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ рСализация ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса зависит ΠΎΡ‚ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ класса.

Ассоциация Π²Ρ‹Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими Ρ€Π°Π²Π½ΠΎΠΏΡ€Π°Π²Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, Ρ€ΠΎΠ»ΠΈ ΠΈ ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² Π²ΠΈΠ΄Π΅ класса ассоциации.

ΠšΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡ ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, Ссли ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Ρ‚ΠΈΠΏΠ° «Ρ‡Π°ΡΡ‚ΡŒ-Ρ†Π΅Π»ΠΎΠ΅», ΠΏΡ€ΠΈΡ‡Π΅ΠΌ композиция ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ части Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ Ρ†Π΅Π»ΠΎΠ³ΠΎ.

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