Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΎΠΏ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ООП

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

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

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Ρƒ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ· iOS Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

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

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

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Ρ†Π΅Π»ΠΎΠΌ β€” это написаниС Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ инструкции, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ машина. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ эта инструкция Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ понятной ΠΊΠ°ΠΊ машинС, Ρ‚Π°ΠΊ ΠΈ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

Π’Π°ΠΊ ΠΊΠ°ΠΊ ООП β€” это ΠΏΡ€ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‚ΠΎ ΠΊΠΎΠ΄ ΠΌΡ‹ пишСм начиная с абстракции частСй систСмы ΠΈ взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ этими частями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ΄Π°. НапримСр, ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΡΠ΅Ρ‚ΡŒ, которая состоит ΠΈΠ· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ. Помимо ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, систСма состоит ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ сообщСния, посты, Π»Π°ΠΉΠΊΠΈ, ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ. Π”Π°ΠΆΠ΅ сам ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒ собой подсистСму Π² систСмС. Как Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ состоит ΠΈΠ· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ€Π³Π°Π½ΠΎΠ² ΠΈ частСй Ρ‚Π΅Π»Π°: сСрдцС, ΠΌΠΎΠ·Π³, Ρ€ΡƒΠΊΠΈ, ΠΏΠ°Π»ΡŒΡ†Ρ‹, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π² систСмС ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΡ… ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ…. Но ΡƒΠΆΠ΅ Π½Π΅ Ρ€ΡƒΠΊΠΈ ΠΈΠ»ΠΈ Π³Π»Π°Π·Π°, Π° адрСс, интСрСсы, записи ΠΎΠ± ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π½ΠΎΡΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Π£ΠΆΠ΅ Π½Π° этапС Π°Π½Π°Π»ΠΈΠ·Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°. Π£ нас Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ β€” абстракция Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°. Но Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ€ΠΎΠ»ΠΈ: Π°Π΄ΠΌΠΈΠ½, ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, VIP ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹ΠΉ ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚Π΅Π»ΡŒ. Они всС ΡΠ²Π»ΡΡŽΡ‚ΡΡ абстракциями Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… людСй ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ Π΄Π°Π½Π½ΠΎΠΉ систСмы. Но каТдая ΠΈΠ· Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Ρ… Ρ€ΠΎΠ»Π΅ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ свои особСнности ΠΈ ΠΏΡ€ΠΈ этом всС ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ±Ρ‰Π΅Π΅ β€” ΠΎΠ½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ систСмой ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² систСмС (Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ свой способ) ΠΈ ΠΎΠ½ΠΈ всС Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π²Ρ…ΠΎΠ΄Π° Π² систСму.

Π­Ρ‚ΠΎ ΠΈ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ наслСдования, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π°Π΄ΠΌΠΈΠ½/VIP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚/Π°Π½ΠΎΠ½ΠΈΠΌ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ, Π½ΠΎ Π½Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π°Π΄ΠΌΠΈΠ½ΠΎΠΌ ΠΈΠ»ΠΈ VIP-ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ошибкам Π² ΠΊΠΎΠ΄Π΅. Випичная ошибка β€” Ссли Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ поля ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π·Π½Π°Ρ‡ΠΈΡ‚ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс, хотя классы наслСдники ΠΏΠΎ Π»ΠΎΠ³ΠΈΠΊΠ΅ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ.

Π•Ρ‰Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠΉ Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° наслСдования, это ΠΊΠΎΠ³Π΄Π° Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс ΠΈ наслСдник ΡΠ²Π»ΡΡŽΡ‚ΡΡ прСдставитСлями Ρ€Π°Π·Π½Ρ‹Ρ… логичСских Π³Ρ€ΡƒΠΏΠΏ. Выглядит это ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ MVC Π² iOS ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, Π³Π΄Π΅ UIViewController это Controller с абстрактными ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ наслСдник. А наслСдник β€” это ΡƒΠΆΠ΅ Model. Π’Π°ΠΌ Π³Π΄Π΅ ΠΏΠΎ Π»ΠΎΠ³ΠΈΠΊΠ΅ проСктирования Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ классов, ΠΎΠ΄ΠΈΠ½ класс ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ Model ΠΈ Controller. НС Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΡƒΠΆΠ΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ UIViewController Π² рСалиях iOS Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΅Ρ‰Π΅ ΠΈ Π±Π΅Ρ€Π΅Ρ‚ Π½Π° сСбя Ρ€ΠΎΠ»ΡŒ View. Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ всС сам. Если Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ (User), Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈ Controller ΠΈ View ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽ эту ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ, Ρƒ нас Π΅ΡΡ‚ΡŒ рСгистратура, Π³Π΄Π΅ Π½Π΅ΠΊΠΈΠΉ администратор Π²Π΅Π΄Π΅Ρ‚ записи ΠΎ посСтитСлях Π² Ρ‚Π΅Ρ‚Ρ€Π°Π΄ΠΊΡƒ. Π’Π°ΠΊΠΆΠ΅ Π² этой Ρ‚Π΅Ρ‚Ρ€Π°Π΄ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ посСтитСлях. ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ посСтитСля β€” Model, Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Π² рСгистратурС β€” Controller ΠΈ Ρ‚Π΅Ρ‚Ρ€Π°Π΄ΡŒ View. И Π² Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° наслСдования ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚Π΅Π»ΡŒ всСгда являСтся рСгистратором ΠΈ Ρ‚Π΅Ρ‚Ρ€Π°Π΄ΠΊΠΎΠΉ. Π£ΠΆΠ΅ Π΄ΠΈΠΊΠΎ выглядит Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΈ Ρ‚Π΅Ρ‚Ρ€Π°Π΄ΠΊΠ° ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅. И Π»ΠΎΠ³ΠΈΠΊΠ° наслСдования Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ΡΡ. Если Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚Π΅Π»ΡŒ ΠΈ рСгистратор β€” люди ΠΈ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ класса рСгистратора ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ посСтитСлСм, Ρ‚ΠΎ Π»ΠΎΠ³ΠΈΡ‡Π½Π΅ΠΉ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ рСгистратор являСтся наслСдником посСтитСля.

Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° наслСдования ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ слоТности понимания систСмы.

По ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ наслСдования, Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс содСрТит ΠΎΠ±Ρ‰ΠΈΠ΅ свойства для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ наслСдников, которая связана ΠΎΠ±Ρ‰ΠΈΠΌ логичСским смыслом. Если наслСдники Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ±Ρ‰Π΅Π³ΠΎ смысла, Π° просто ΠΈΠΌΠ΅ΡŽΡ‚ случайныС ΠΎΠ±Ρ‰ΠΈΠ΅ свойства, Ρ‚ΠΎ скорСй всСго наслСдованиС Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ.

Абстракция

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

Абстракция гласит β€” останавливаСм Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… аспСктах ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ для нас.

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

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ модСль описания автомобиля с Π½Π°Π±ΠΎΡ€ΠΎΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… качСств.Π’Π°ΠΊ ΠΆΠ΅ ΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Когда Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ мобильноС прилоТСния для ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ, программисту ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ модСль этого автомобиля. ЕстСствСнно Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ модСль Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ 100500 ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

НавСрно ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅ΠΆΠ΅Π½ΠΈΠ΅ΠΌ этим ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠΌ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, являСтся Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ свойств классу. ВпослСдствии, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π½Π΅ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° СдинствСнной отвСтствСнности с SOLID.

Π’Π°ΠΊΠΆΠ΅ ΠΊ абстракции я Π±Ρ‹ отнСс Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, ΠΊΠΎΠ³Π΄Π° слоТный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ разбиваСтся Π½Π° систСму. ΠœΡ‹ абстрагируСмся ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… особСнностСй ΠΈ пСрСносим ΠΈΡ… Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚. ΠŸΡ€ΠΈΠΌΠ΅Ρ€: ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ мСсто проТивания, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ адрСс. АдрСс Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ состоит ΠΈΠ· Π³ΠΎΡ€ΠΎΠ΄Π°, ΡƒΠ»ΠΈΡ†Ρ‹, Π½ΠΎΠΌΠ΅Ρ€Π° Π΄ΠΎΠΌΠ° ΠΈ Ρ‚. Π΄. Π’ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΡ‹ Π΄ΡƒΠΌΠ°Π΅ΠΌ, Π° Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ страну ΠΈΠ»ΠΈ Ρ€Π΅Π³ΠΈΠΎΠ½? Если это прилоТСния для пользования администрациСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ€Π°ΠΉΠΎΠ½Π° Π³ΠΎΡ€ΠΎΠ΄Π°, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Π΄Π΅Ρ‚Π°Π»ΠΈ. Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ абстрагируСтся ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ адрСса. ΠžΠΏΡΡ‚ΡŒ-Ρ‚Π°ΠΊΠΈ, Π½Π΅ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ пишСм ΠΊΠΎΠ΄, Π½ΠΎ ΠΈ занимаСмся ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ, допустим, MenuViewController, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ состоит ΠΈΠ· 5000+ строк ΠΊΠΎΠ΄Π°.

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

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

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

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

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

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ β€” ΠΊΠΎΠ³Π΄Π° наслСдники Π΄Π΅Π»Π°ΡŽΡ‚ всС ΠΏΠΎ своСму, Π½ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΊΠ°ΠΊ Ρƒ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса. Если наслСдник занимаСтся Ρ‡Π΅ΠΌ-Ρ‚ΠΎ своим ΠΈ Π½Π΅ Π΄Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ оТидаСтся ΠΎΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса β€” Π·Π½Π°Ρ‡ΠΈΡ‚ с наслСдованиСм ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠΎΠΌ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Π΅ΡΡ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π΅Ρ…Π°Ρ‚ΡŒ Π² Π³Π°Ρ€Π°ΠΆ. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π»Π΅Ρ‚Π°ΡŽΡ‰ΠΈΠΉ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ-наслСдник (ΠΊΠ°ΠΊ Π² Ρ„ΠΈΠ»ΡŒΠΌΠ΅ «Назад Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ 2Β»). Какой Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π·Π°Π³Π½Π°Ρ‚ΡŒ этого монстра Π² Π³Π°Ρ€Π°ΠΆ? Π”Π°, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π»Π΅Ρ‚Π΅Ρ‚ΡŒ Π² Π³Π°Ρ€Π°ΠΆ, Ссли функция Π΅Π·Π΄Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎΠ»Π΅Ρ‚Π°. А Ссли функция ΠΏΠΎΠ»Π΅Ρ‚Π° Π±Ρ‹Π»Π° Π½ΠΎΠ²Ρ‹ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ, Π° функция Π΅Π·Π΄Ρ‹ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π°? Π’ΠΎ ΠΌΡ‹ Π½Π΅ смоТСм ΡΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ нашСго Π»Π΅Ρ‚ΡƒΠ½Π° ΠΎΡ‚ Π½Π΅ΠΏΠΎΠ³ΠΎΠ΄Ρ‹. Π­Ρ‚ΠΎ ΡƒΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ, это Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ΅. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ β€” ΠΈΠ·-Π·Π° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ модСлирования ΠΈ наслСдования Π±Ρ‹Π» Π½Π°Ρ€ΡƒΡˆΠ΅Π½ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° ΠΈ получился Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

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

Π”ΠΎΠ±Π°Π²Π»ΡŽ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ тСсно связан с наслСдованиСм ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² наслСдовании ΠΎΡ‚Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΅Ρ‰Π΅ большими ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ Π² ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ΅.

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

И Π²ΠΎΡ‚ ΠΏΡ€ΠΈΡˆΠ»Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ инкапсуляции. Π₯ΠΎΠ΄ΠΈΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ дискуссий, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ собой прСдставляСт инкапсуляция. И сущСствуСт ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π΄Π²Π° опрСдСлСния:
Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ β€” это сокрытиС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΠΎΠ»Π΅ΠΉ класса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ ΠΏΡ€ΠΈ использовании ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² этого класса.
Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ β€” это обьСдинСниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ эти Π΄Π°Π½Π½Ρ‹Π΅.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈΠ½ΠΎΠ³Π΄Π° воспринимаСтся ΠΊΠ°ΠΊ инкапсуляция = сокрытиС, Ρ‡Ρ‚ΠΎ, ΠΊΠ°ΠΊ я ΡΡ‡ΠΈΡ‚Π°ΡŽ, Π½Π΅ совсСм Π²Π΅Ρ€Π½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅.

К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, я Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ, которая Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ наТатия становится Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ свСтлСС. ΠŸΡ€ΠΎΡ‰Π΅ говоря, ΠΊΠΎΠ³Π΄Π° ΠΊΠ½ΠΎΠΏΠΊΠ° Π² состоянии β€œΠ½Π°ΠΆΠ°Ρ‚Π°β€, Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° становится свСтлСС.

Для этого я создаю класс наслСдник UIButton ΠΈ Π² наслСдникС добавляю ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ устанавливаСт Ρ†Π²Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Ρ†Π²Π΅Ρ‚ с Π°Π»ΡŒΡ„Π° ΠΊΠ°Π½Π°Π»ΠΎΠΌ 50% ΠΎΡ‚ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ. А Ρ‚Π°ΠΊΠΆΠ΅ я добавляю ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ бэкграунд Ρ†Π²Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ, Π±Π΅Π· Π°Π»ΡŒΡ„Π° ΠΊΠ°Π½Π°Π»Π°.

Если эти Π΄Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π±ΡƒΠ΄ΡƒΡ‚ доступны ΠΏΡ€ΠΈ использовании ΠΌΠΎΠ΅ΠΉ кастомной ΠΊΠ½ΠΎΠΏΠΊΠΈ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ этой ΠΊΠ½ΠΎΠΏΠΊΠΈ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ наТатия ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ устанавливаСт ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚. Или ΠΆΠ΅ Π²Π΄Ρ€ΡƒΠ³ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ свСтлСС, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ ΠΎΠ½Π° Π½Π°ΠΆΠ°Ρ‚Π°, хотя это Π½Π΅ Ρ‚Π°ΠΊ.

Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ β€” Π½Π΅ Π±Π΅Π·Π΄ΡƒΠΌΠ½ΠΎΠ΅ сокрытиС ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ ΠΏΠΎΠ»Π΅ΠΉ ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ класса с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ возмоТностСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ€ΡƒΡˆΠ°Ρ‚ΡŒΡΡ.

По ΠΏΠΎΠ²ΠΎΠ΄Ρƒ объСдинСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ эти Π΄Π°Π½Π½Ρ‹Π΅, я с этим согласСн, Π½ΠΎ с ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΊΠΎΠΉ. Π’ ΠΌΠΎΠ΅ΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ ООП β€” ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² ΠΊΠΎΠ΄Π΅, Ρ‡Ρ‚ΠΎ само собой ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ состояния ΠΈ дСйствий Ρƒ этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Если ΠΏΡ€ΠΎΡΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‚ΠΎ инкапсуляция β€” ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°), которая выполняСт Π½Π΅ΠΊΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² систСмС, ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². ΠŸΡ€ΠΈ этом всС, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ Ρ€ΠΎΠ»ΡŒ этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, скрыто.

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

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ простым языком β€” ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‚ экспСрты

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

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ простым языком β€” ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‚ экспСрты

Π’ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ описаний ООП, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉ программист рискуСт ΠΈΡ… Π½Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ. ΠœΡ‹ попросили экспСртов ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ ΡΡƒΡ‚ΡŒ этой ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ простыми словами.

Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΎΠΏ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. 2247 02422139 9kMeCAcX 1585637834 e1586613770716. Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΎΠΏ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ„ΠΎΡ‚ΠΎ. Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΎΠΏ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ-2247 02422139 9kMeCAcX 1585637834 e1586613770716. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΎΠΏ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 2247 02422139 9kMeCAcX 1585637834 e1586613770716. Часто я Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΈΡˆΡƒΡ‚ ΠΊΠΎΠ΄ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ языкС программирования, Π½ΠΎ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ООП. Π­Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Ρ‰Π΅ Π½Π° собСсСдованиях ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ объяснСния ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ². А Ρ‚Π°ΠΊΠΆΠ΅ это ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ, казалось Π±Ρ‹, ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ программисты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ², Π·Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π² язык программирования, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ ΠΏΠΈΡˆΡƒΡ‚. Π’Ρ‚ΠΎΡ€ΠΎΠΉ случай Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠ΅, Π½ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ это Π½Π΅ Ρ‚Π°ΠΊ. Часто Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ смотрят Π½Π° наслСдованиС ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ, ΠΊΠ°ΠΊ Π½Π° особСнности языка, ΠΊΠ°ΠΊ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ тСхничСский инструмСнт ΠΈ Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽΡ‚, ΠΎ Π²Π΅Ρ‰Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅ΠΆΠ°Ρ‚ Π² основС этих ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ².

Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ИВ-ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ КРОК

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

Π—Π°Ρ€ΠΏΠ»Π°Ρ‚Ρƒ сотрудника Π·Π½Π°Π΅Ρ‚ ΠΎΠ½ сам, Π΅Π³ΠΎ Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΈ Π±ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ β€” Π½Π΅Ρ‚. Π’Π°ΠΊΠΎΠ΅ сокрытиС Π΄Π°Π½Π½Ρ‹Ρ… называСтся инкапсуляция. КакиС свойства ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ доступно Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ опрСдСляСтся Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ класса. Π ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΎΡ‚Π΄Π΅Π»Π° Ρ‚Π°ΠΊΠΆΠ΅ являСтся сотрудником, Π½ΠΎ ΠΎΠ½ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ рядом Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… свойств, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½Ρ‹Π΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ класс Β«Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΒ», Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ класс «сотрудник» ΠΈΠ»ΠΈ, Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, происходит наслСдованиС. ΠŸΡ€ΠΈ этом ΠΌΠ΅ΠΆΠ΄Ρƒ классами устанавливаСтся ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ «являСтся» β€” Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ любой Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ являСтся сотрудником, Π½ΠΎ Π½Π΅ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚ β€” Π½Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ сотрудник являСтся Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ. Если Ρƒ класса большС ΠΎΠ΄Π½ΠΎΠ³ΠΎ наслСдника, Ρ‚ΠΎ образуСтся иСрархия. ΠšΠ»Π°ΡΡΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ родствСнниками Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ Π½Π΅ связаны ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ «являСтся», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€ являСтся сотрудником, Π½ΠΎ Π±ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€ Π½Π΅ являСтся Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ.

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

Π’Π°ΠΊ ΠΌΡ‹ рассмотрСли, ΠΊΠ°ΠΊ связаны ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ классы, ΠΈ Ρ‚Π°ΠΊΠΈΠ΅ понятия, ΠΊΠ°ΠΊ: инкапсуляция, наслСдованиС ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ. ВсС это β€” Π±Π°Π·ΠΎΠ²Ρ‹Π΅ понятия ООП.

Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΎΠΏ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. 101818 e270b3cf O7TGGgd4 1599223860 1 e1599553352651. Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΎΠΏ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ„ΠΎΡ‚ΠΎ. Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΎΠΏ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ-101818 e270b3cf O7TGGgd4 1599223860 1 e1599553352651. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΎΠΏ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 101818 e270b3cf O7TGGgd4 1599223860 1 e1599553352651. Часто я Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΈΡˆΡƒΡ‚ ΠΊΠΎΠ΄ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ языкС программирования, Π½ΠΎ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ООП. Π­Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Ρ‰Π΅ Π½Π° собСсСдованиях ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ объяснСния ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ². А Ρ‚Π°ΠΊΠΆΠ΅ это ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ, казалось Π±Ρ‹, ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ программисты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ², Π·Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π² язык программирования, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ ΠΏΠΈΡˆΡƒΡ‚. Π’Ρ‚ΠΎΡ€ΠΎΠΉ случай Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠ΅, Π½ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ это Π½Π΅ Ρ‚Π°ΠΊ. Часто Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ смотрят Π½Π° наслСдованиС ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ, ΠΊΠ°ΠΊ Π½Π° особСнности языка, ΠΊΠ°ΠΊ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ тСхничСский инструмСнт ΠΈ Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽΡ‚, ΠΎ Π²Π΅Ρ‰Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅ΠΆΠ°Ρ‚ Π² основС этих ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ².

Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€-программист IT-ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ DD Planet

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ – это ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ вся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° рассматриваСтся ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ΠŸΡ€ΠΈ этом Π½Π°ΠΌ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΈΡ… характСристики.

Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² систСмС Π΅ΡΡ‚ΡŒ свойства ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρƒ любого Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. НапримСр, рассмотрим ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ «машина». Π£ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ свойства (Ρ†Π²Π΅Ρ‚, вСс, ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ) ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ (машина ΠΌΠΎΠΆΠ΅Ρ‚ Π΅Ρ…Π°Ρ‚ΡŒ, ΡΠΈΠ³Π½Π°Π»ΠΈΡ‚ΡŒ, ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ Ρ‚ΠΎΠΏΠ»ΠΈΠ²ΠΎ).

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

ООП позволяСт ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ слоТныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, составляя ΠΈΡ… ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… ΠΈ простых, поэтому Π½Π°Π΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ сотни Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… занят своим Π±Π»ΠΎΠΊΠΎΠΌ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ соврСмСнных языков программирования β€” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅, ΠΈ, ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ поняв ΡΡƒΡ‚ΡŒ, Π²Ρ‹ смоТСтС ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ сразу нСсколько языков.

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

ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ систСм Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ сСрвисов ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ рСагирования Π½Π° ΠΊΠΈΠ±Π΅Ρ€ΡƒΠ³Ρ€ΠΎΠ·Ρ‹ Π² BI.ZONE

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования (ООП) ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ прСдставлСниС всСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ Π΅Π΅ частСй ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΅ΡΡ‚ΡŒ Ρ‚ΠΈΠΏ β€” Π² ООП ΠΎΠ½ называСтся классом. ΠšΠ»Π°ΡΡΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ· Π½ΠΈΡ… экзСмпляры. БобствСнно, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β€” это ΠΈ Π΅ΡΡ‚ΡŒ экзСмпляр класса.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌΠΈ. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ‚ΠΈΠΏ Β«ΠŸΠΎΠ·Π²ΠΎΠ½ΠΎΡ‡Π½ΠΎΠ΅ сущСство», Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ свойство «Класс». Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠŸΠΎΠ·Π²ΠΎΠ½ΠΎΡ‡Π½Ρ‹Ρ… сущСств это свойство Ρ€Π°Π²Π½ΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· пяти Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: Π Ρ‹Π±Π°, Π—Π΅ΠΌΠ½ΠΎΠ²ΠΎΠ΄Π½ΠΎΠ΅, ΠŸΡ‚ΠΈΡ†Π°, ΠŸΡ€Π΅ΡΠΌΡ‹ΠΊΠ°ΡŽΡ‰Π΅Π΅ΡΡ, ΠœΠ»Π΅ΠΊΠΎΠΏΠΈΡ‚Π°ΡŽΡ‰Π΅Π΅. Π”ΠΎΠ±Π°Π²ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ_класс β€” ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π”Π°Π»Π΅Π΅ объявим Ρ‚ΠΈΠΏ Β«Π§Π΅Π»ΠΎΠ²Π΅ΠΊΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ наслСдуСт Ρ‚ΠΈΠΏΡƒ Β«ΠŸΠΎΠ·Π²ΠΎΠ½ΠΎΡ‡Π½ΠΎΠ΅ сущСство». Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ нСсколько экзСмпляров: Иван Иванов, ΠœΠ°Ρ€ΠΈΠ½Π° Иванова, Антон Антонов. Π”ΠΎΠ±Π°Π²ΠΈΠΌ присущиС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π§Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ свойства: Имя ΠΈ Ѐамилию. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ_имя/ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ_Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΡˆΠ΅Π΄ΡˆΠΈΠΉ ΠΎΡ‚ ΠŸΠΎΠ·Π²ΠΎΠ½ΠΎΡ‡Π½ΠΎΠ³ΠΎ сущСства ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ_класс.

Π’Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ сколь ΡƒΠ³ΠΎΠ΄Π½ΠΎ Π΄ΠΎΠ»Π³ΠΎ: ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… классов Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, ΠΈ любой экзСмпляр класса Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ заявлСнными свойствами.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ООП β€” ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. КосвСнно Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΈ сокращаСтся Π΅Π³ΠΎ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

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

Π“Π»Π°Π²Π½ΠΎΠ΅, ΠΎ Ρ‡Π΅ΠΌ Π½Π΅ стоит Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ: ООП β€” это Π½Π΅ СдинствСнная ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°. Π£ Π½Π΅Π΅ Π΅ΡΡ‚ΡŒ свои ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы, для ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ Π·Π°Π΄Π°Ρ‡ ΠΎΠ½Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚, для ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ β€” Π½Π΅Ρ‚. НапримСр, ООП Π½Π΅ даст особых прСимущСств, Ссли Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ «однострочники» ΠΈ простыС скрипты. Однако Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Π½Π΅Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ сущности ΠΊΠΎΠ΄ быстро прСвратится Π² Β«Π»Π°ΠΏΡˆΡƒΒ» ΠΈ пСрСстанСт Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ, ΠΈ ООП здСсь сильно упростит Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΎΠΏ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. 10417 70a2108f wkMEU2P3 1599472415 e1599569767684. Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΎΠΏ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ„ΠΎΡ‚ΠΎ. Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΎΠΏ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ-10417 70a2108f wkMEU2P3 1599472415 e1599569767684. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΎΠΏ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 10417 70a2108f wkMEU2P3 1599472415 e1599569767684. Часто я Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΈΡˆΡƒΡ‚ ΠΊΠΎΠ΄ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ языкС программирования, Π½ΠΎ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ООП. Π­Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Ρ‰Π΅ Π½Π° собСсСдованиях ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ объяснСния ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ². А Ρ‚Π°ΠΊΠΆΠ΅ это ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ, казалось Π±Ρ‹, ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ программисты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ², Π·Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π² язык программирования, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ ΠΏΠΈΡˆΡƒΡ‚. Π’Ρ‚ΠΎΡ€ΠΎΠΉ случай Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠ΅, Π½ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ это Π½Π΅ Ρ‚Π°ΠΊ. Часто Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ смотрят Π½Π° наслСдованиС ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ, ΠΊΠ°ΠΊ Π½Π° особСнности языка, ΠΊΠ°ΠΊ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ тСхничСский инструмСнт ΠΈ Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽΡ‚, ΠΎ Π²Π΅Ρ‰Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅ΠΆΠ°Ρ‚ Π² основС этих ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ².

Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ хостинг-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π° ΠΈ рСгистратора Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² REG.RU

НаиболСС классичСскоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ±Π΅Π³Π°ΡŽΡ‚ ΠΏΡ€ΠΈ нСобходимости ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ООП, это β€” «способ модСлирования Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°Β».β€Ž МоТно ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ООП Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ простым ΠΈ наглядным, ΠΎΠ΄Π½Π°ΠΊΠΎ такая Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ° слишком Ρ€Π°Π·ΠΌΡ‹Ρ‚Π° ΠΈ ΡƒΠΊΠ»ΠΎΠ½Ρ‡ΠΈΠ²Π°, ΠΎΠ½Π° Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ самой сути ООП.

ООП стоит Π½Π° Ρ‚Ρ€Ρ‘Ρ… ΠΊΠΈΡ‚Π°Ρ…:

Если Ρ€Π΅Π·ΡŽΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ: ООП Π΄Π°Ρ‘Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ зависимостями Π² ΠΊΠΎΠ΄Π΅. Π­Ρ‚ΠΎ способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ высокоуровнСвый ΠΊΠΎΠ΄ Π½Π΅ зависСл ΠΎΡ‚ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. ООП позволяСт вСсти Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ сущностями ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ интСрфСйсами.

Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΎΠΏ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. 80855 6666710a CndgseMJ 1599228867 e1599569847184. Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΎΠΏ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ„ΠΎΡ‚ΠΎ. Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΎΠΏ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ-80855 6666710a CndgseMJ 1599228867 e1599569847184. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΎΠΏ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 80855 6666710a CndgseMJ 1599228867 e1599569847184. Часто я Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΈΡˆΡƒΡ‚ ΠΊΠΎΠ΄ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ языкС программирования, Π½ΠΎ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ООП. Π­Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Ρ‰Π΅ Π½Π° собСсСдованиях ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ объяснСния ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ². А Ρ‚Π°ΠΊΠΆΠ΅ это ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ, казалось Π±Ρ‹, ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ программисты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ², Π·Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π² язык программирования, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ ΠΏΠΈΡˆΡƒΡ‚. Π’Ρ‚ΠΎΡ€ΠΎΠΉ случай Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠ΅, Π½ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ это Π½Π΅ Ρ‚Π°ΠΊ. Часто Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ смотрят Π½Π° наслСдованиС ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ, ΠΊΠ°ΠΊ Π½Π° особСнности языка, ΠΊΠ°ΠΊ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ тСхничСский инструмСнт ΠΈ Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽΡ‚, ΠΎ Π²Π΅Ρ‰Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅ΠΆΠ°Ρ‚ Π² основС этих ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ².

тСхничСский Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ Π² Creonit

Π‘ΡƒΡ‚ΡŒ ООП Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ.

ВсС, Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°: Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, Π²ΠΎΠ·Π΄ΡƒΡˆΠ½Ρ‹ΠΉ ΡˆΠ°Ρ€ΠΈΠΊ, сообщСниС Π² мСссСндТСрС. Π£ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ свойства, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ†Π²Π΅Ρ‚ – красный, Ρ€Π°Π·ΠΌΠ΅Ρ€ – большой. Π’Π°ΠΊΠΆΠ΅ Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. НапримСр, Ссли ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ Β«Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΒ», ΠΈ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ.

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

ΠšΠ»Π°ΡΡΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ…ΠΈΡ‚Ρ€Ρ‹Π΅ Π²ΠΈΡ‚ΠΈΠ΅Π²Π°Ρ‚Ρ‹Π΅ структуры. Π§Π΅ΠΌ структура Ρ…ΠΈΡ‚Ρ€Π΅Π΅, Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π³ΠΈΠ±Ρ‡Π΅, Π»Π΅Π³Ρ‡Π΅ поддаСтся измСнСниям ΠΈ внСдрСниям Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°, Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Π’Π°ΠΊΠΈΠ΅ слова ΠΊΠ°ΠΊ наслСдованиС, ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ, инкапсуляция ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ структуры ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΅Ρ‰Π΅ Π²ΠΈΡ‚ΠΈΠ΅Π²Π°Ρ‚Π΅Π΅, ΠΏΡ€ΠΈ этом ΠΈΠ·Π±Π°Π²Π»ΡΡŽΡ‚ ΠΊΠΎΠ΄ ΠΎΡ‚ дублирования ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ Π΅Π³ΠΎ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятным, Π½ΠΎ Π½Π΅ всСгда.

ПониманиС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ лишь ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π΅ сдСлаСт Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ООП-Π³ΡƒΡ€Ρƒ. Π‘ΡƒΡ‚ΡŒ мастСрства ООП Π² ΡƒΠΌΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ структуры ΠΈΠ· классов, ΠΏΡ€ΠΈ этом оставляя ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ, Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ ΠΈ Π³ΠΈΠ±ΠΊΠΈΠΌ. Π§Ρ‚ΠΎΠ±Ρ‹ это ΠΏΠΎΡΡ‚ΠΈΡ‡ΡŒ, потрСбуСтся ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Π΄ΠΎΠ»Π³ΠΈΠΉ ΠΈ ΠΈΠ·Π½ΡƒΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ, Π½ΠΎ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ ООП станСт Π»ΡƒΡ‡ΡˆΠ΅.

Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΎΠΏ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. 89124 03cc4a38 yF33srQ0 1575901413 1 e1577457118236. Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΎΠΏ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ„ΠΎΡ‚ΠΎ. Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΎΠΏ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ-89124 03cc4a38 yF33srQ0 1575901413 1 e1577457118236. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΎΠΏ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 89124 03cc4a38 yF33srQ0 1575901413 1 e1577457118236. Часто я Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΈΡˆΡƒΡ‚ ΠΊΠΎΠ΄ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ языкС программирования, Π½ΠΎ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ООП. Π­Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Ρ‰Π΅ Π½Π° собСсСдованиях ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ объяснСния ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ². А Ρ‚Π°ΠΊΠΆΠ΅ это ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ, казалось Π±Ρ‹, ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ программисты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ², Π·Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π² язык программирования, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ ΠΏΠΈΡˆΡƒΡ‚. Π’Ρ‚ΠΎΡ€ΠΎΠΉ случай Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠ΅, Π½ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ это Π½Π΅ Ρ‚Π°ΠΊ. Часто Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ смотрят Π½Π° наслСдованиС ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ, ΠΊΠ°ΠΊ Π½Π° особСнности языка, ΠΊΠ°ΠΊ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ тСхничСский инструмСнт ΠΈ Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽΡ‚, ΠΎ Π²Π΅Ρ‰Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅ΠΆΠ°Ρ‚ Π² основС этих ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ².

Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Java Ρ†Π΅Π½Ρ‚Ρ€Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ «РСксофт» Π² Π’ΠΎΡ€ΠΎΠ½Π΅ΠΆΠ΅

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

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

ΠŸΡ€ΠΎΡ‰Π΅ говоря, ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚ΡŒ ООП стоит ΠΎΡ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ ΠΊ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ. ΠžΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π² этом процСссС Π΄Π°ΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ врСмя ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡ‚Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΠΉ нас ΠΌΠΈΡ€ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ Ρ‚Ρ€Π°Π½ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² абстракции ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ языку программирования.

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

Π“Π»Π°Π²Π½ΠΎΠ΅ β€” Π² дСталях. Π§Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ Π΄Π°Ρ‘Ρ‚ ООП?

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

Π― ΡƒΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ Π΄Π²ΡƒΡ… Π»Π΅Ρ‚ Π΄Π΅Π½Π½ΠΎ ΠΈ Π½ΠΎΡ‰Π½ΠΎ копаюсь Π² ООП. ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Π» Ρ‚ΠΎΠ»ΡΡ‚ΡƒΡŽ стопку ΠΊΠ½ΠΈΠ³, ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ» Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎ-мСсяцы Π½Π° Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π° с ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ³ΠΎ стиля Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ. Π”Ρ€ΡƒΠ³ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ я Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π» ООП Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ·Π³Π°. Но Π΅ΡΡ‚ΡŒ Π»ΠΈ Ρƒ мСня ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ я ΡƒΠΌΠ΅ΡŽ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ слоТныС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ понятный ΠΊΠΎΠ΄?

Π― Π·Π°Π²ΠΈΠ΄ΡƒΡŽ людям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΌΠ΅ΡŽΡ‚ ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡ…ΠΈΠ²Π°Ρ‚ΡŒ своС Π±Ρ€Π΅Π΄ΠΎΠ²ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅. ОсобСнно, ΠΊΠΎΠ³Π΄Π° это касаСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, ΠΊ Ρ‡Π΅ΠΌΡƒ я страстно ΡΡ‚Ρ€Π΅ΠΌΠ»ΡŽΡΡŒ, Π½ΠΎ Π² Ρ‡Ρ‘ΠΌ ΠΈΡΠΏΡ‹Ρ‚Ρ‹Π²Π°ΡŽ бСсконСчныС сомнСния. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ я Π½Π΅ Π³Π΅Π½ΠΈΠΉ, ΠΈ Π½Π΅ ЀП-шник, Ρƒ мСня Π½Π΅Ρ‚ истории успСха. Но ΠΏΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ 5 ΠΊΠΎΠΏΠ΅Π΅ΠΊ.

Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ, ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ΅ ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠ΅β€¦?

Π›ΡŽΠ±ΠΈΡ‚Π΅, ΠΊΠΎΠ³Π΄Π° вас грузят Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°ΠΌΠΈ? Π― ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π» достаточно, Π½ΠΎ слова Π²Ρ‹ΡˆΠ΅ Π΄ΠΎ сих ΠΏΠΎΡ€ Π½Π΅ говорят ΠΌΠ½Π΅ Π½ΠΈ ΠΎ Ρ‡Π΅ΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ. Π― ΠΏΡ€ΠΈΠ²Ρ‹ΠΊ ΠΎΠ±ΡŠΡΡΠ½ΡΡ‚ΡŒ Π²Π΅Ρ‰ΠΈ Π½Π° понятном ΠΌΠ½Π΅ языкС. Π£Ρ€ΠΎΠ²Π½Π΅ абстракции, Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅. И Π΄Π°Π²Π½ΠΎ Ρ…ΠΎΡ‚Π΅Π» Π·Π½Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° простой вопрос: Β«Π§Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ ООП?Β». Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΊΠΎΠ΄Π°. И сСгодня я ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΡŽ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° Π½Π΅Π³ΠΎ сам. Но спСрва нСбольшая абстракция.

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅ занимаСтся Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°Π΄Π°Ρ‡. КаТдая Π·Π°Π΄Π°Ρ‡Π° состоит ΠΈΠ· мноТСства Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ. Начиная ΠΎΡ‚ спСцифики АПИ взаимодСйствия с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ, заканчивая дСталями бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ.

На днях я собирал с Π΄ΠΎΡ‡ΠΊΠΎΠΉ ΠΌΠΎΠ·Π°ΠΈΠΊΡƒ. РаньшС ΠΌΡ‹ собирали ΠΏΠ°Π·Π»Ρ‹ большого Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ ΠΈΠ· 9 частСй. А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½Π° справляСтся ΠΈ с ΠΌΠ΅Π»ΠΊΠΎΠΉ ΠΌΠΎΠ·Π°ΠΈΠΊΠΎΠΉ для Π΄Π΅Ρ‚Π΅ΠΉ ΠΎΡ‚ 3-Ρ… Π»Π΅Ρ‚. Π­Ρ‚ΠΎ интСрСсно! Как ΠΌΠΎΠ·Π³ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ срСди разбросанных ΠΏΠ°Π·Π»ΠΎΠ² ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ своё мСсто. И Ρ‡Π΅ΠΌ опрСдСляСтся ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ?

Будя ΠΏΠΎ ΠΌΠΎΠ·Π°ΠΈΠΊΠ°ΠΌ для Π΄Π΅Ρ‚Π΅ΠΉ, ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ опрСдСляСтся количСством Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ. Π― Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ аналогия с собираниСм ΠΏΠ°Π·Π»Π° ΠΏΠΎΠΊΡ€ΠΎΠ΅Ρ‚ вСсь процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Но с Ρ‡Π΅ΠΌ Π΅Ρ‰Ρ‘ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Ρ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания Ρ‚Π΅Π»Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ? И ΠΌΠ½Π΅ видится, Ρ‡Ρ‚ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ количСства Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ β€” ΠΎΠ΄Π½ΠΎ ΠΈΠ· самых сущСствСнных ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠΉ.

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

ДСкомпозиция

Как извСстно со ΡˆΠΊΠΎΠ»Ρ‹, ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π‘ΡƒΡ‚ΡŒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΈ количСства Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ.

Π’Π°ΠΊ ΡƒΠΆ получаСтся, Ρ‡Ρ‚ΠΎ Π΅Ρ‰Π΅ ΠΏΡ€ΠΈ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΌΡ‹ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ°Π΅ΠΌ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ. Когда Π½Π° Π²Ρ…ΠΎΠ΄Π΅ Π΅ΡΡ‚ΡŒ кусок Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π΅ΠΌ, Π·Π°ΠΊΠΈΠ΄Ρ‹Π²Π°Π΅ΠΌ Π² ΠΏΠΎΠ΄Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈ ΠΌΠ°ΠΏΠΈΠΌ Π² result. И Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счётС, ΠΌΡ‹ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π²ΠΎ врСмя Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ.

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

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€. НС Ρ‚Π°ΠΊ Π΄Π°Π²Π½ΠΎ я писал скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ сборки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Π·Π°ΠΊΠΈΠ΄Ρ‹Π²Π°Π΅Ρ‚ Π² Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΠ°ΠΏΠΊΠΈ.

ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ я ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ» ООП Π² этом Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ. МоТно Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сСрвисов, ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Но Π½Π° самом Π΄Π΅Π»Π΅ это яркий ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°.

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

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

Основная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° β€” Π΄Π°Π½Π½Ρ‹Π΅, ΠΈΡ… структура ΠΈ количСство. БлоТная структура Π΄Π°Π½Π½Ρ‹Ρ… привносит Π΄Π΅Ρ‚Π°Π»ΠΈ, ΡƒΡΠ»ΠΎΠΆΠ½ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ. А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, слСдитС Π·Π° Ρ€ΡƒΠΊΠ°ΠΌΠΈ, здСсь Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ°Π½Π°.

Π”Π°Π²Π°ΠΉΡ‚Π΅ вспомним, Π·Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ Π΄Π°Π½Π½Ρ‹Π΅? Π§Ρ‚ΠΎΠ±Ρ‹ произвСсти Π½Π°Π΄ Π½ΠΈΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Часто ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡ΠΈ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, Π½ΠΎ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π·Π° Π΄Π°Π½Π½Ρ‹Π΅ для этого ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ.

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ опСрациями, зная, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π·Π°Ρ€Π°Π½Π΅Π΅ Π²Π»Π°Π΄Π΅ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ для своСго выполнСния.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ позволяСт Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. И Ссли это ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ количСство Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ, Ρ‚ΠΎ ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ‡Π°ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ!

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Builder ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Π½Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠ°ΠΊ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ части систСмы. ΠŸΡ€ΠΈ этом классы, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠ΅ Builder Ρ‡Π΅Ρ€Π΅Π· конструктор, Π½Π΅ зависят ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½Ρ‹ для Π΅Π³ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Когда Π΄Π΅Ρ‚Π°Π»ΠΈ Π½Π° своих мСстах, ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΡ€ΠΎΡ‰Π΅. Но Π΅ΡΡ‚ΡŒ ΠΈ слабоС мСсто.

ВсС Π΄Π΅Ρ‚Π°Π»ΠΈ, связанныС со слоТной структурой ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³Π°, Π»Π΅Π³Π»ΠΈ Π½Π° процСсс создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Project ΠΈ Π΅Π³ΠΎ зависимостСй. Π—Π° всё Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ. Но ΠΏΠΎΡ€ΠΎΠΉ это Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β€” ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ второстСпСнных Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ Π² Ρ†Π΅Π»ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅, ΠΈ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ΄Π½ΠΎΠΉ Ρ„Π°Π±Ρ€ΠΈΠΊΠΈ.

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

SOLID, абстракция, инкапсуляция.

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

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

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

Когда Ρ‚Ρ‹ знаСшь ΠΏΡ€Π°Π²Π΄Ρƒ

ООП β€” инструмСнт Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ слоТных Π·Π°Π΄Π°Ρ‡. Π‘Π»ΠΎΠΆΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎΠ±Π΅ΠΆΠ΄Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π½Π° простыС Π·Π° счСт ограничСния Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ. Бпособ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ количСство Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ β€” Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρ‚Ρ‹ знаСшь ΠΏΡ€Π°Π²Π΄Ρƒ, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ лишнСго Π² своСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. ΠŸΡ€ΠΈΠ²Π΅Π΄ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠ΅ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΡŽ SOLID. ΠŸΠΎΡ‚ΠΎΠΌ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ привСсти ΠΈΡ… ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°. НС Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. Π“Π»Π°Π²Π½ΠΎΠ΅ β€” Π² дСталях.

НСдавно написал Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ VSCode для Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Extract class. Π‘Ρ‡ΠΈΡ‚Π°ΡŽ, это Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π›ΡƒΡ‡ΡˆΠΈΠΉ, Ρ‡Ρ‚ΠΎ Ρƒ мСня Π΅ΡΡ‚ΡŒ. Π‘ΡƒΠ΄Ρƒ Ρ€Π°Π΄ замСчаниям ΠΏΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΈΠ»ΠΈ прСдлоТСниям ΠΏΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ ΠΊΠΎΠ΄Π°/Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π₯ΠΎΡ‡Ρƒ Π² блиТайшСС врСмя ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ ПР Π² Abracadabra

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

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

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