Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ°ΠΌΠΎΡΡΡΠ»Π°ΡΡΠΈΠΉΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ this Π² ΠΊΠ»Π°ΡΡΠ΅
Π£ΡΠΎΠΊ β121. Π‘ΠΊΡΡΡΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ *this
ΠΠ±Π½ΠΎΠ²Π». 13 Π‘Π΅Π½ 2021 |
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΡΡΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΠΎΠ²ΠΈΡΠΊΠΈ Π·Π°Π΄Π°ΡΡ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠΎΠ²: Β«ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΊΠ»Π°ΡΡΠ°, ΠΊΠ°ΠΊ C++ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π΅Π³ΠΎ Π²ΡΠ·Π²Π°Π»?Β». ΠΡΠ²Π΅Ρ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ C++ Π΄Π»Ρ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΊΡΡΡΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ *this!
Π‘ΠΊΡΡΡΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ *this
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ°. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ Π·Π΄Π΅ΡΡ Π½Π΅ Π½ΡΠΆΠ΅Π½, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ·ΡΠΊ C++ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΈΡΡΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ-ΡΠ»Π΅Π½Π° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
ΠΠΎΠ·ΡΠΌΠ΅ΠΌ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ:
Π₯ΠΎΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Ρ Π½Π°Ρ Π·Π΄Π΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Ρ Π½Π°Ρ ΠΈΡ Π΄Π²Π°! ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΡΡΠΎΠΊΠ° another.setNumber(4); ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π’Π΅ΠΏΠ΅ΡΡ ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ, Π° ΠΎΠ±ΡΠ΅ΠΊΡ another (ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π½Π΅Π΅ Π±ΡΠ» ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΡΠΊΠΎΠΉ) ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠΎ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Π΄Π΅Π»Π°. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Π΅ΡΡΡ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, ΡΠΎ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ (ΡΡΠΎΠ±Ρ ΠΎΠ½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π» Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°). Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄:
ΠΠΎΠ½Π²Π΅ΡΡΠΈΡΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Π²:
ΠΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π½Π΅ΡΠ²Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΊ Π½Π΅ΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ *this. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ *this β ΡΡΠΎ ΡΠΊΡΡΡΡΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π°Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠ»Π°ΡΡΠ°.
Π‘ΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌ Π²ΡΡ Π²ΠΌΠ΅ΡΡΠ΅:
Π₯ΠΎΡΠΎΡΠ΅ΠΉ Π½ΠΎΠ²ΠΎΡΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΡΡΠΎ Π²ΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΊΡΡΡΠΎ ΠΎΡ Π½Π°Ρ (ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ²), ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ Π»ΠΈ Π²Ρ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈΠ»ΠΈ Π½Π΅Ρ. ΠΡΡ, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ β Π²ΡΠ΅ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ° ΠΈΠΌΠ΅ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ *this, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΊΠ»Π°ΡΡΠ°.
Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ *this Π²ΡΠ΅Π³Π΄Π° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ
ΠΠ°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡΡΠ°ΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ *this ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ *this, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π°Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
JavaScript: ΠΏΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΠΊΠ»Π°ΡΡΠ°ΠΌ
ΠΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ, Π΄ΡΡΠ·ΡΡ!
Π JavaScript ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ: ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠ»Ρ (ΡΠ²ΠΎΠΉΡΡΠ²Π°) ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°-ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ°.
ΠΠ»Π°ΡΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² Java ΠΈΠ»ΠΈ Swift Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΈΠ»ΠΈ ΡΡ Π΅ΠΌ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π² JavaScript Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. Π ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ½ΠΎΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
ΠΡΠΎΡΠΎΡΠΈΠΏΠ½ΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ES6 Π±ΡΠ»ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ class: ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Ρ Π°Ρ Π΄Π»Ρ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ.
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π½Π°ΡΡΠΈΠΌΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ: ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΊΠ»Π°ΡΡΡ, ΠΈΡ ΡΠ°ΡΡΠ½ΡΠ΅ (ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠ΅) ΠΈ ΠΎΡΠΊΡΡΡΡΠ΅ (ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠ΅) ΠΏΠΎΠ»Ρ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ.
1. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅: ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ class
ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ class:
Π’Π°ΠΊΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠ°.
ΠΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΡ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΊΠ»Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ:
ΠΠ»Π°ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΊΡΠΏΠΎΡΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
Π Π²ΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΊΡΠΏΠΎΡΡΠ°:
ΠΠ»Π°ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ². ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ β ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π΄Π°Π½Π½ΡΠ΅ ΠΈ Π»ΠΎΠ³ΠΈΠΊΡ ΠΊΠ»Π°ΡΡΠ°.
ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° new: instance = new Class().
ΠΠΎΡ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° User:
2. ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ: constructor()
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ name:
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ β name, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Ρ this.name.
this Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ.
ΠΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ°, ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°:
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ name Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ‘ΠΠ΅ΡΠΎΡΠΈΠ½’.
ΠΡΠ»ΠΈ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π½Π΅ Π²Π»ΠΈΡΡΡΡΡ Π½Π° ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ.
3. ΠΠΎΠ»Ρ
ΠΠΎΠ»Ρ ΠΊΠ»Π°ΡΡΠ° β ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΠΎΠ»Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ Π½Π° Π΄Π²Π΅ Π³ΡΡΠΏΠΏΡ:
3.1. ΠΡΠΊΡΡΡΡΠ΅ ΠΏΠΎΠ»Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ°
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ this.name = name ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΠΎΠ»Π΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° name ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ Π΅ΠΌΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠΎΡΡΡΠΏ ΠΊ ΡΡΠΎΠΌΡ ΠΏΠΎΠ»Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°ΠΊΡΠ΅ΡΡΠΎΡΠ° ΡΠ²ΠΎΠΉΡΡΠ²Π°:
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ name β ΠΎΡΠΊΡΡΡΠΎΠ΅ ΠΏΠΎΠ»Π΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ° User.
ΠΡΠΈ Π½Π΅ΡΠ²Π½ΠΎΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΠΎΠ»Π΅ΠΉ Π²Π½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°, ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΠΏΠΎΠ»Π΅ΠΉ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ ΠΈΠ· ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°.
ΠΡΡΡΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ²Π½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ ΠΊΠ»Π°ΡΡΠ°. ΠΠ΅Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π²ΡΠ΅Π³Π΄Π° ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ Π½Π°Π±ΠΎΡ ΠΏΠΎΠ»Π΅ΠΉ.
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΊΠ»Π°ΡΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠΎΠ»Ρ Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π·Π΄Π΅ΡΡ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠΌ Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
ΠΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΊΠΎΠ΄ ΠΊΠ»Π°ΡΡΠ° User, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ² Π² Π½Π΅ΠΌ ΠΎΡΠΊΡΡΡΠΎΠ΅ ΠΏΠΎΠ»Π΅ name:
Π’Π°ΠΊΠΈΠ΅ ΠΎΡΠΊΡΡΡΡΠ΅ ΠΏΠΎΠ»Ρ ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠ΅Π½Ρ Π½Π°Π³Π»ΡΠ΄Π½ΡΠΌΠΈ, Π±ΡΡΡΡΡΠΉ Π²Π·Π³Π»ΡΠ΄ Π½Π° ΠΊΠ»Π°ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ½ΡΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΅Π³ΠΎ Π΄Π°Π½Π½ΡΡ .
ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΏΠΎΠ»Π΅ ΠΊΠ»Π°ΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ:
ΠΠ° Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΡΠΊΡΡΡΡΠΌ ΠΏΠΎΠ»ΡΠΌ ΠΈ ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ. Π§ΠΈΡΠ°ΡΡ ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΠΌ ΠΏΠΎΠ»ΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅, ΠΌΠ΅ΡΠΎΠ΄Π°Ρ ΠΈ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°.
3.2. Π§Π°ΡΡΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ°
ΠΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΡΡΠ²Π°ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ°. Π’ΠΎΡ, ΠΊΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ, ΠΎΠΏΠΈΡΠ°Π΅ΡΡΡ Π½Π° ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π½Π΅ Π²Π΄Π°Π²Π°ΡΡΡ Π² ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ°.
Π’Π°ΠΊΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΏΡΠΎΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄Π΅ΡΠ°Π»Π΅ΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
Π₯ΠΎΡΠΎΡΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΡΠΊΡΡΡΡ Π΄Π΅ΡΠ°Π»ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΡΠ½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ. Π’Π°ΠΊΠΈΠ΅ ΠΏΠΎΠ»Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΎΡΠΈΡΠ°Π½Ρ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΠ½ΠΈ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ. ΠΠ° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ° ΡΠ°ΡΡΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ»Π΅ ΡΠ°ΡΡΠ½ΡΠΌ, ΠΏΠ΅ΡΠ΅Π΄ Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ» #, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, #myPrivateField. ΠΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΠ°ΠΊΠΎΠΌΡ ΠΏΠΎΠ»Ρ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΏΡΠ΅ΡΠΈΠΊΡ.
Π‘Π΄Π΅Π»Π°Π΅ΠΌ ΠΏΠΎΠ»Π΅ name ΡΠ°ΡΡΠ½ΡΠΌ:
#name β ΡΠ°ΡΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅. ΠΠΎΡΡΡΠΏ ΠΊ Π½Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ° User. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ getName().
ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ #name Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ° User Π±ΡΠ΄Π΅Ρ Π²ΡΠ±ΡΠΎΡΠ΅Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°: SyntaxError: Private field ‘#name’ must be declared in an enclosing class.
3.3. ΠΡΠΊΡΡΡΡΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠΎΠ»Ρ
Π ΠΊΠ»Π°ΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠ»Ρ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠ΅ ΡΠ°ΠΌΠΎΠΌΡ ΠΊΠ»Π°ΡΡΡ: ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠΎΠ»Ρ. Π’Π°ΠΊΠΈΠ΅ ΠΏΠΎΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ, Ρ ΡΠ°Π½ΡΡΠΈΡ Π½ΡΠΆΠ½ΡΡ ΠΊΠ»Π°ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ static ΠΏΠ΅ΡΠ΅Π΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»Ρ: static myStaticField.
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ type Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° ΠΈΠ»ΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ. Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠΎΠ»Ρ TYPE_ADMIN ΠΈ TYPE_REGULAR β ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ:
ΠΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΠΎΠ»ΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°: User.TYPE_ADMIN ΠΈ User.TYPE_REGULAR.
3.4. Π§Π°ΡΡΠ½ΡΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠΎΠ»Ρ
ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠΎΠ»Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ°. ΠΠ»Ρ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΠΈ ΡΠ°ΠΊΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΡ ΡΠ°ΡΡΠ½ΡΠΌΠΈ.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»Ρ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡ #: static #myPrivateStaticFiled.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ° User. ΠΠ»Ρ ΡΠΎΠΊΡΡΡΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΡΡΠ½ΡΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠΎΠ»Ρ:
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ»Π΅ User.#MAX_INSTANCES ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ², Π° User.#instances β ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ².
ΠΡΠΈ ΡΠ°ΡΡΠ½ΡΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ° User. ΠΠΈΡΡΠΎ ΠΈΠ· Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΌΠΈΡΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ: Π² ΡΡΠΎΠΌ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΠΈ.
ΠΡΠΈΠΌ. ΠΏΠ΅Ρ.: Π΅ΡΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΎΠ΄Π½ΠΈΠΌ, ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Β«ΠΠ΄ΠΈΠ½ΠΎΡΠΊΠ°Β» (Singleton).
4. ΠΠ΅ΡΠΎΠ΄Ρ
ΠΠΎΠ»Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π΄Π°Π½Π½ΡΠ΅. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΡΠ²Π»ΡΡΡΠΈΠΌΠΈΡΡ ΡΠ°ΡΡΡΡ ΠΊΠ»Π°ΡΡΠ°: ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ.
JavaScript ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ°, ΡΠ°ΠΊ ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ.
4.1. ΠΠ΅ΡΠΎΠ΄Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ°
ΠΠ΅ΡΠΎΠ΄Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ° ΠΌΠΎΠ³ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π΅Π³ΠΎ Π΄Π°Π½Π½ΡΠ΅. ΠΠ΅ΡΠΎΠ΄Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΌΠΎΠ³ΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ getName(), Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΠΉ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ:
Π ΠΌΠ΅ΡΠΎΠ΄Π΅ ΠΊΠ»Π°ΡΡΠ°, ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅, this ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ this Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°: this.field, ΠΈΠ»ΠΈ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²: this.method().
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π½ΠΎΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ nameContains(str), ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠΉ ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄:
nameContains(str) β ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠ»Π°ΡΡΠ° User, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠΉ ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ. ΠΠ½ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° getName() Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠ΅ΡΠΎΠ΄ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΡΡΠ½ΡΠΌ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ°ΡΡΠ½ΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡ #.
Π‘Π΄Π΅Π»Π°Π΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ getName() ΡΠ°ΡΡΠ½ΡΠΌ:
#getName() β ΡΠ°ΡΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄. ΠΠ½ΡΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° nameContains(str) ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ ΡΠ°ΠΊ: this.#getName().
ΠΡΠ΄ΡΡΠΈ ΡΠ°ΡΡΠ½ΡΠΌ, ΠΌΠ΅ΡΠΎΠ΄ #getName() Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ° User.
4.2. ΠΠ΅ΡΡΠ΅ΡΡ ΠΈ ΡΠ΅ΡΡΠ΅ΡΡ
ΠΠ΅ΡΡΠ΅ΡΡ ΠΈ ΡΠ΅ΡΡΠ΅ΡΡ β ΡΡΠΎ Π°ΠΊΡΠ΅ΡΡΠΎΡΡ ΠΈΠ»ΠΈ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°. ΠΡΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΈΠΌΠΈΡΠΈΡΡΡΡΠΈΠ΅ ΠΏΠΎΠ»Ρ, Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠΈΡΠ°ΡΡ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅.
ΠΠ΅ΡΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΡΠ΅ΡΡΠ΅ΡΡ β Π΄Π»Ρ ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π°ΠΏΡΠ΅ΡΠ° Π½Π° ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ name ΠΏΡΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΎΠ±Π΅ΡΠ½Π΅ΠΌ ΡΠ°ΡΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ #nameValue Π² Π³Π΅ΡΡΠ΅Ρ ΠΈ ΡΠ΅ΡΡΠ΅Ρ:
4.3. Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ β ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠ΅ ΡΠ°ΠΌΠΎΠΌΡ ΠΊΠ»Π°ΡΡΡ. ΠΠ½ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΊΠ»Π°ΡΡΠ°, Π° Π½Π΅ Π΅Π³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ².
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ static ΠΏΠ΅ΡΠ΅Π΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄Π°: static myStaticMethod().
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎ Π΄Π²ΡΡ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ :
isNameTaken() β ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ ΡΠ°ΡΡΠ½ΠΎΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ»Π΅ User.#takenNames Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΈΠΌΠ΅Π½.
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°ΡΡΠ½ΡΠΌΠΈ: static #myPrivateStaticMethod(). Π’Π°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΌΠΎΠ³ΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ°.
5. ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅: extends
ΠΠ»Π°ΡΡΡ Π² JavaScript ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° extends.
Π Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ class Child extends Parent < >ΠΊΠ»Π°ΡΡ Child Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° Parent ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, ΠΏΠΎΠ»Ρ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΉ ΠΊΠ»Π°ΡΡ ContentWriter, ΡΠ°ΡΡΠΈΡΡΡΡΠΈΠΉ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠ»Π°ΡΡ User:
ContentWriter Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡ User ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, ΠΌΠ΅ΡΠΎΠ΄ getName() ΠΈ ΠΏΠΎΠ»Π΅ name. Π ΡΠ°ΠΌΠΎΠΌ ContentWriter ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ posts.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠ°ΡΡΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π½Π΅ Π½Π°ΡΠ»Π΅Π΄ΡΡΡΡΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ.
5.1. Π ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ: super() Π² constructor()
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π² Π΄ΠΎΡΠ΅ΡΠ½Π΅ΠΌ ΠΊΠ»Π°ΡΡΠ΅, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ super(), Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΡΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ContentWriter Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΏΠΎΠ»Π΅ posts:
super(name) Π² Π΄ΠΎΡΠ΅ΡΠ½Π΅ΠΌ ΠΊΠ»Π°ΡΡΠ΅ ContentWriter Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° User.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² Π΄ΠΎΡΠ΅ΡΠ½Π΅ΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° this Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ super(). ΠΡΠ·ΠΎΠ² super() Β«ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°Π΅ΡΒ» ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ.
5.2. Π ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ: super Π² ΠΌΠ΅ΡΠΎΠ΄Π°Ρ
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Π²Π½ΡΡΡΠΈ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ super:
getName() Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° ContentWriter Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ getName() ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° User.
ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄Π°.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ super ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ Π΄Π»Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
6. ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΈΠΏΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ°: instanceof
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ object instanceof Class ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ instanceof ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΡΠ΅Π½: ΠΎΠ½ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΡ ΡΠ΅ΠΏΠΎΡΠΊΡ ΠΊΠ»Π°ΡΡΠΎΠ².
Π§ΡΠΎ Π΅ΡΠ»ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°? ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ constructor:
7. ΠΠ»Π°ΡΡΡ ΠΈ ΠΏΡΠΎΡΠΎΡΠΈΠΏΡ
ΠΠ°Π΄ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² β ΡΡΠΎ Ρ ΠΎΡΠΎΡΠ°Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ Π½Π°Π΄ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ½ΡΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ°ΠΌ.
ΠΠ΄Π½Π°ΠΊΠΎ, ΠΊΠ»Π°ΡΡΡ ΡΠ²Π»ΡΡΡΡΡ Π»ΠΈΡΡ Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΠΎΠΉ Π½Π°Π΄ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ½ΡΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΡΠ±ΠΎΠΉ ΠΊΠ»Π°ΡΡ β ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΡΠΎΠ·Π΄Π°ΡΡΠ°Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°.
Π‘Π»Π΅Π΄ΡΡΠΈΠ΅ Π΄Π²Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Ρ.
ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Ρ ΠΎΡΠΎΡΠ΅Π΅ Π·Π½Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ.
8. ΠΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΊΠ»Π°ΡΡΠΎΠ²
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅, ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ ES6 ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠΌΠΈΡΡ Π½Π° ΡΡΠ΅ΡΡΠ΅ΠΉ ΡΡΠ°Π΄ΠΈΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ:
ΠΡΠΈΠΌ. ΠΏΠ΅Ρ.: ΠΏΠΎ Π΄Π°Π½Π½ΡΠΌ Can I use ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΡΡΠ½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΊΠ»Π°ΡΡΠΎΠ² Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 68%.
9. ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ»Π°ΡΡΡ Π² JavaScript ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° static ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠΎΠ»Ρ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° extends. ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ super ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΌΡ ΠΊΠ»Π°ΡΡΡ ΠΈΠ· Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΠΈ, Ρ.Π΅. ΡΠΊΡΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΠΏΠΎΠ»Ρ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ°ΡΡΠ½ΡΠΌΠΈ. ΠΠ°Π·Π²Π°Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° #.
Π ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ JavaScript ΠΊΠ»Π°ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½ΠΎ.
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠ°ΡΡΡ Π±ΡΠ»Π° Π²Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.
ΠΠ°ΡΠΌΠ°Π½Π½Π°Ρ ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎ TypeScript. Π§Π°ΡΡΡ 7. ΠΠ»Π°ΡΡΡ
ΠΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΡΠ΅ΡΠΈΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° «ΠΠ°ΡΠΌΠ°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ TypeScript «.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠ½ΠΈΠ³Π° Π±ΡΠ»Π° ΠΎΡΠΎΡΠΌΠ»Π΅Π½Π° Π² Π²ΠΈΠ΄Π΅ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π§Π»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ° (class members)
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° β ΠΏΡΡΡΠΎΠ³ΠΎ:
Π’Π°ΠΊΠΎΠΉ ΠΊΠ»Π°ΡΡ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π΅Π½, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π°Π²Π°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅ΠΌΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅Π½ΠΎΠ².
ΠΠΎΠ»Ρ (fields)
ΠΠΎΠ»Π΅ β ΡΡΠΎ ΠΎΡΠΊΡΡΡΠΎΠ΅ (ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ΅) ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ΅ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΊΠ»Π°ΡΡΠ°:
ΠΠΎΠ»Ρ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΏΡΠΈ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ°:
—strictPropertyInitialization
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° strictPropertyInitialization ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, Π΄ΠΎΠ»ΠΆΠ½Ρ Π»ΠΈ ΠΏΠΎΠ»Ρ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΠΎΠ»Ρ ΠΊΠ»Π°ΡΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ Π² ΡΠ°ΠΌΠΎΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅. TS Π½Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ, Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠ΅ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅, Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΈ ΡΠ»Π΅Π½Ρ Π½Π΅ Π±ΡΠ΄ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ.
readonly
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ (constructors)
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π² Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Ρ Π°Π½Π½ΠΎΡΠ°ΡΠΈΡΠΌΠΈ ΡΠΈΠΏΠ°, Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠΈ:
ΠΠ΄Π½Π°ΠΊΠΎ, ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠ³Π½Π°ΡΡΡΠ°ΠΌΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΊΠ»Π°ΡΡΠ° ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ»ΠΈΡΠΈΠΉ:
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΈΠΏΠ° β ΡΡΠΎ Π·Π°Π΄Π°ΡΠ° Π²ΠΎΠ·Π»Π°Π³Π°Π΅ΡΡΡ Π½Π° Π²Π½Π΅ΡΠ½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ°, ΠΎ ΡΠ΅ΠΌ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΠΎΠ·ΠΆΠ΅
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠΏΠ° β Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠΈΠΏ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ°
super
ΠΠ΅ΡΠΎΠ΄Ρ (methods)
ΠΠ΅ΡΠΎΠ΄ β ΡΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ. ΠΠ΅ΡΠΎΠ΄Ρ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΡΠΈΠΏΠ°, ΡΡΠΎ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°ΠΌΠΈ:
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, TS Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΊ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ Π½ΠΈΡΠ΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ.
ΠΠ΅ΡΡΠ΅ΡΡ/ΡΠ΅ΡΡΠ΅ΡΡ
ΠΠ»Π°ΡΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π°ΠΊΡΠ΅ΡΡΠΎΡΡ (Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°, accessors):
TS ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΡΠ°Π²ΠΈΠ», ΠΊΠ°ΡΠ°ΡΡΠΈΡ ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² Π² ΡΠ»ΡΡΠ°Π΅ Ρ Π°ΠΊΡΠ΅ΡΡΠΎΡΠ°ΠΌΠΈ:
ΠΡΠ»ΠΈ set ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ readonly
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΈΠΏΠ° ΡΠ΅ΡΡΠ΅ΡΠ° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΈΠΏΠ°, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π³Π΅ΡΡΠ΅ΡΠΎΠΌ
ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ΅ΡΡΠ΅ΡΠ° ΠΈΠΌΠ΅Π΅Ρ Π°Π½Π½ΠΎΡΠ°ΡΠΈΡ ΡΠΈΠΏΠ°, ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΡΠΈΠΏΠΎΠΌ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΌ Π³Π΅ΡΡΠ΅ΡΠΎΠΌ
ΠΠ΅ΡΡΠ΅ΡΡ ΠΈ ΡΠ΅ΡΡΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠ»Π΅Π½ΠΎΠ² (ΡΠΌ. Π½ΠΈΠΆΠ΅)
Π‘ΠΈΠ³Π½Π°ΡΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° (index signatures)
ΠΠ»Π°ΡΡΡ ΠΌΠΎΠ³ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΈΠ³Π½Π°ΡΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°. ΠΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΡΠΈΠ³Π½Π°ΡΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π² Π΄ΡΡΠ³ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠΈΠΏΠ°Ρ :
ΠΠ±ΡΡΠ½ΠΎ, ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π»ΡΡΡΠ΅ Ρ ΡΠ°Π½ΠΈΡΡ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅.
ΠΠ»Π°ΡΡΡ ΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ°ΠΊ ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ , ΠΊΠ»Π°ΡΡΡ Π² JS ΠΌΠΎΠ³ΡΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π½ΠΎΠ² Π΄ΡΡΠ³ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ².
implements
ΠΡΠ΅Π΄ΠΎΡΡΠ΅ΡΠ΅ΠΆΠ΅Π½ΠΈΠ΅
ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ implements Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π»ΠΈ ΠΊΠ»Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ. ΠΠ½ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΈΠΏ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². ΠΡΠΈΠ±ΠΎΡΠ½ΠΎ ΠΏΠΎΠ»Π°Π³Π°ΡΡ, ΡΡΠΎ implements ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΈΠΏ ΠΊΠ»Π°ΡΡΠ° β ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ!
Π’Π°ΠΊΠΆΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°:
extends
ΠΠ»Π°ΡΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ°ΡΡΠΈΡΡΡΡΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ. ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ»Π΅Π½ΠΎΠ².
ΠΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
TS ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ» ΠΏΠΎΠ΄ΡΠΈΠΏΠΎΠΌ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΡΠΈΠΌΠ΅Ρ Β«Π»Π΅Π³Π°Π»ΡΠ½ΠΎΠ³ΠΎΒ» ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°:
ΠΠ°ΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π» ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ (ΠΈ Π²ΡΠ΅Π³Π΄Π° Π»Π΅Π³Π°Π»ΡΠ½ΠΎ) ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΡΠ΅ΡΠ΅Π· ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ:
Π§ΡΠΎ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°?
ΠΡΠ»ΠΈ ΠΌΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΡΡΠΎΡ ΠΊΠΎΠ΄, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΠΎΡΠΈΠ±ΠΊΡ, ΡΠ°ΠΊΠΎΠΉ Β«ΡΠ½ΠΈΠΏΠΏΠ΅ΡΒ» ΠΏΡΠΎΠ²Π°Π»ΠΈΡΡΡ:
ΠΠΎΡΡΠ΄ΠΎΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ
ΠΠΎΡΡΠ΄ΠΎΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΠΌ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ:
Π§ΡΠΎ Π·Π΄Π΅ΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ?
ΠΠΎΡΡΠ΄ΠΎΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°
ΠΠ°ΠΏΡΡΠΊ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°
ΠΠ°ΠΏΡΡΠΊ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°
ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΠΈΠΏΠΎΠ²
ΠΠ»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ°:
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ, ΡΡΠΎ:
instanceof ΡΠ»ΠΎΠΌΠ°Π΅ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌΠΈ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ( new MsgError() ) instanceof MsgError Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ false
ΠΠΈΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠ»Π΅Π½ΠΎΠ² (member visibility)
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ TS Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΡΠ²ΠΎΠΉΡΡΠ² Π΄Π»Ρ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°, Ρ.Π΅. ΠΊΠΎΠ΄Π°, Π½Π°Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°.
public
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ public ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π΅Π³ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π½ΠΎ ΡΡΠΎ ΠΏΠΎΠ²ΡΡΠ°Π΅Ρ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ ΠΈ ΡΠ»ΡΡΡΠ°Π΅Ρ ΡΡΠΈΠ»Ρ ΠΊΠΎΠ΄Π°.
protected
ΠΠ°ΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠ»Π΅Π½Ρ Π²ΠΈΠ΄ΠΈΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ.
Π Π°ΡΠΊΡΡΡΠΈΠ΅ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΡ ΡΠ»Π΅Π½ΠΎΠ²
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π½ΠΎ ΠΌΠΎΠ³ΡΡ ΡΠ°ΡΡΠΈΡΡΡΡ ΠΏΠΎΠ΄ΡΠΈΠΏΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ. ΠΡΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ protected ΡΠ»Π΅Π½ΠΎΠ² Π² ΡΡΠ°ΡΡΡ public :
ΠΠΎΡΡΡΠΏ ΠΊ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΌ ΡΠ»Π΅Π½Π°ΠΌ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ²
Π Π°Π·Π½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΠΠ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ ΠΊ Π΄ΠΎΡΡΡΠΏΡ ΠΊ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΌ ΡΠ»Π΅Π½Π°ΠΌ ΠΈΠ· Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°:
private
Π§Π°ΡΡΠ½ΡΠ΅ ΡΠ»Π΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠ΅, Π½ΠΎ Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π°ΠΆΠ΅ Π² ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ°Ρ , Ρ.Π΅. ΠΎΠ½ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅, Π³Π΄Π΅ ΠΎΠ½ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°ΡΡΠ½ΡΠ΅ ΡΠ»Π΅Π½Ρ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΡ:
ΠΠΎΡΡΡΠΏ ΠΊ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΌ ΡΠ»Π΅Π½Π°ΠΌ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌΠΈ
TS ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ ΡΠ°ΠΊΠΎΠΉ Π΄ΠΎΡΡΡΠΏ:
ΠΡΠ΅Π΄ΠΎΡΡΠ΅ΡΠ΅ΠΆΠ΅Π½ΠΈΠ΅
ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Β«Π½Π°ΡΡΠΎΡΡΠΈΡ Β» ΡΠ°ΡΡΠ½ΡΡ ΡΠ»Π΅Π½ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ, ΠΊΠ°ΠΊ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ (closures), ΡΠ»Π°Π±ΡΠ΅ ΠΊΠ°ΡΡΡ (weak maps) ΠΈΠ»ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΊΠ»Π°ΡΡΠ° (private fields, # ).
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ»Π΅Π½Ρ (static members)
Π ΠΊΠ»Π°ΡΡΠ°Ρ ΠΌΠΎΠ³ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅ΡΡΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ»Π΅Π½Ρ. Π’Π°ΠΊΠΈΠ΅ ΡΠ»Π΅Π½Ρ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°. ΠΠ½ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΊΠ»Π°ΡΡΠ°:
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ»Π΅Π½Ρ Π½Π°ΡΠ»Π΅Π΄ΡΡΡΡΡ:
Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ»Π΅Π½ΠΎΠ²
ΠΠΎΡΠ΅ΠΌΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ²?
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ·ΡΠΊΠ°Ρ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ C# ΠΈΠ»ΠΈ Java ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΊΠ°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ, ΠΊΠ°ΠΊ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠ»Π°ΡΡ (static class).
Π‘ΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½ΠΎ ΡΠ΅ΠΌ, ΡΡΠΎ Π² Π½Π°Π·Π²Π°Π½Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠΎΠ²; Π² TS ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π² ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠ»Π°ΡΡΠ°Ρ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Β«ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°Β», ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ (ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ) ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ:
ΠΠ±ΡΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ (generic classes)
Π ΠΊΠ»Π°ΡΡΠ°Ρ , ΠΊΠ°ΠΊ ΠΈ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Ρ , ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΎΠ² ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΈΠΏΠ° Π² ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ»Π΅Π½Π°Ρ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄, ΠΊΠ°ΠΊ Π½ΠΈ ΡΡΡΠ°Π½Π½ΠΎ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΠΠ»Π΅Π³Π°Π»ΡΠ½ΡΠΌ:
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ this Π² ΠΊΠ»Π°ΡΡΠ°Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°
TS Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ JS Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° this Π² JS ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π΅ΠΎΠ±ΡΡΠ½ΠΎΠΉ:
TS ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ.
Π‘ΡΡΠ΅Π»ΠΎΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠΈΠΌ ΠΊ ΠΏΠΎΡΠ΅ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°ΠΊΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠ΅Π»ΠΎΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ:
ΠΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΠΎΠ²:
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ this Π±ΡΠ΄Π΅Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π΄Π°ΠΆΠ΅ Π² ΠΊΠΎΠ΄Π΅, Π½Π΅ ΠΏΡΠΎΡΠ΅Π΄ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ TS
ΠΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ° Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ Π½ΠΎΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ this
TS ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ this Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅. ΠΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ΅Π»ΠΎΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ this Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ Π΅Π³ΠΎ Π²ΡΠ·ΠΎΠ²Π°:
ΠΠ°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠΏΡΡΠΆΠ΅Π½ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΎΡΠ³Π°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ:
ΠΡ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΈΠΌΠ΅Π΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ
ΠΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ°, Π° Π½Π΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ°
ΠΠ°Π·ΠΎΠ²ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΌΠΎΠ³ΡΡ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· super
Π’ΠΈΠΏΡ this
Π ΠΊΠ»Π°ΡΡΠ°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ this Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΡΠΈΠΏ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°:
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ this Π² Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΡΠΈΠΏΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°:
ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ other: Box β Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ, Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄ sameAs Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°:
ΠΡΠ½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π° this Π·Π°ΡΠΈΡΠ½ΠΈΠΊΠΈ ΡΠΈΠΏΠ°
Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² (class expressions)
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΎΡΠ»ΠΈΡΠΈΠ΅ΠΌ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π½Π΅ Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΠ½ΠΈ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Ρ (bound):
ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΈ ΡΠ»Π΅Π½Ρ
ΠΠ»Π°ΡΡΡ, ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΠΏΠΎΠ»Ρ Π² TS ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌΠΈ.
ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. Π’Π°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΠΏΠΎΠ»Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π½ΡΡΡΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ.
ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π²ΡΡΡΡΠΏΠ°ΡΡ Π² ΡΠΎΠ»ΠΈ Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΡ ΡΠ»Π΅Π½ΠΎΠ². ΠΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΡ ΡΠ»Π΅Π½ΠΎΠ² ΠΊΠ»Π°ΡΡ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ (concrete).
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π΅ΡΠ»ΠΈ ΠΌΡ Π·Π°Π±ΡΠ΄Π΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΡ ΡΠ»Π΅Π½ΠΎΠ², ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΎΡΠΈΠ±ΠΊΡ:
Π‘ΠΈΠ³Π½Π°ΡΡΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ (abstract construct signatures)
ΠΠ½ΠΎΠ³Π΄Π° Π½Π°ΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ°, ΡΠΎΠ·Π΄Π°ΡΡΠΈΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ°, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½Π΅ΡΡΠΎ Ρ ΡΠΈΠ³Π½Π°ΡΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°:
Π’Π΅ΠΏΠ΅ΡΡ TS ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π°ΠΌ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½ β Derived ΠΌΠΎΠΆΠ΅Ρ, Π° Base Π½Π΅Ρ.
ΠΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΊΠ»Π°ΡΡΡ Π² TS ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡΡΡ ΡΡΡΡΠΊΡΡΡΠ½ΠΎ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΈΠΏΠ°ΠΌ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π²Π° ΠΊΠ»Π°ΡΡΠ° ΡΠ²Π»ΡΡΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Ρ:
Π’Π°ΠΊΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠ΄ΡΠΈΠΏΠ°ΠΌΠΈ, Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΡΠ²Π½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ:
ΠΠ΄Π½Π°ΠΊΠΎ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΠ΄Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
ΠΡΡΡΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΡΠ»Π΅Π½ΠΎΠ². Π ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ ΡΠ²Π»ΡΡΡΡΡ Β«ΡΡΠΏΠ΅ΡΡΠΈΠΏΠ°ΠΌΠΈΒ» Π΄Π»Ρ Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΠΏΠΎΠ². Π’Π°ΠΊ ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΡΡΠΎΠΉ ΠΊΠ»Π°ΡΡ (Π½Π΅ Π½Π°Π΄ΠΎ ΡΡΠΎΠ³ΠΎ Π΄Π΅Π»Π°ΡΡ!), Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ:
ΠΠ±Π»Π°ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΎΡ ΠΠ°ΠΊΠ»Π°ΡΠ΄ Π±ΡΡΡΡΡΠ΅ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅.
ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ΡΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π²ΡΡΠ΅ ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠΊΠ½ΡΠ² Π½Π° Π±Π°Π½Π½Π΅Ρ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ 10% ΡΠΊΠΈΠ΄ΠΊΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ ΠΌΠ΅ΡΡΡ Π°ΡΠ΅Π½Π΄Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ!
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ β ΠΊΠ°ΠΊ Π΄Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠΎΠΌΡ ΡΠ°Π·Π΄Π΅Π»Ρ Π»ΠΈΠ½Π³Π²ΠΈΡΡΠΈΠΊΠΈ ΠΈ ΠΊΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΡΡΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°
Π Π°Π·Π΄Π΅Π» Π½Π°ΡΠΊΠΈ ΠΎ ΡΠ·ΡΠΊΠ΅. ΠΠ·ΡΡΠ°Π΅Ρ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ΅ΠΊΡΡ.
ΠΠΎΠ³Π΄Π° ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΈΡΠ° ΡΠΏΡΠΎΡΠΈΡ Π²Π°Ρ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, Π²Π°ΠΌ Π½Π°Π΄ΠΎ ΠΎΡΠ²Π΅ΡΠΈΡΡ ΡΠ°ΠΊ: Β«ΠΡΠΎ ΡΠ°Π·Π΄Π΅Π» Π½Π°ΡΠΊΠΈ ΠΎ ΡΠ·ΡΠΊΠ΅Β». ΠΠ½Π° ΠΎΠΏΡΡΡ ΡΠΏΡΠΎΡΠΈΡ: Β«Π ΡΡΠΎ ΠΎΠ½ ΠΈΠ·ΡΡΠ°Π΅Ρ?Β». ΠΡΠ²Π΅Ρ: Β«Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡΡΒ». Β«ΠΠ°ΠΊΠΈΠ΅?Β» β Β«Π‘Π»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠ΅ΠΊΡΡΒ».
ΠΡΡ Π²ΠΌΠ΅ΡΡΠ΅: Β«Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ β ΡΡΠΎ ΡΠ°Π·Π΄Π΅Π» Π½Π°ΡΠΊΠΈ ΠΎ ΡΠ·ΡΠΊΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ·ΡΡΠ°Π΅Ρ 3 ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡΡ: ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠ΅ΠΊΡΡΒ».
ΠΠ°ΠΊ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΠΈΠ·ΡΡΠ°Π΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
Π‘ Π³ΡΠ΅ΡΠ΅ΡΠΊΠΎΠ³ΠΎ Β«ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΒ» ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡΡ ΠΊΠ°ΠΊ Β«ΡΡΡΠΎΠΉΒ», Β«ΠΏΠΎΡΡΠ΄ΠΎΠΊΒ». ΠΠ½ ΠΈΠ·ΡΡΠ°Π΅Ρ ΡΠΎ, ΠΊΠ°ΠΊ Β«ΡΡΡΠΎΡΡΡΡΒ» ΡΠ»ΠΎΠ²Π° Π΄Π»Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΡΡΠ»ΠΈ. Π‘Π»ΠΎΠ²Π° ΠΌΠΎΠ³ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Π² ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ, ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ β Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ β Π² ΡΠ΅ΠΊΡΡΡ.
ΠΠ°ΡΡ ΡΠ»ΠΎΠ² ΡΠΊΠ°ΠΆΡ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅
Π‘Π»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ β ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π΄Π²Π° ΡΠ»ΠΎΠ²Π°. ΠΠ· Π½ΠΈΡ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π²ΠΎΠΏΡΠΎΡ ΠΊ Π΄ΡΡΠ³ΠΎΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: Π³ΡΠ»ΡΡΡ Π²ΠΎ Π΄Π²ΠΎΡΠ΅, ΡΠΈΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³Ρ, ΠΊΡΠ°ΡΠΈΠ²ΡΠΉ Π΄ΠΎΠΌ, ΠΎΡΠ΅Π½Ρ Π²ΡΡΠΎΠΊΠΎ.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΉ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ Π΅Π΄ΠΈΠ½ΠΈΡΠ΅ΠΉ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ (ΠΎΠ±ΡΠ΅Π½ΠΈΡ). Π’ΠΎ Π΅ΡΡΡ ΠΎΠ±ΡΠ°Π΅ΠΌΡΡ ΠΌΡ Π½Π΅ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡΠΌΠΈ, Π° Π΄ΡΡΠ³ΠΈΠΌΠΈ Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΠΌΠΈ β ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β ΡΡΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΠΈΠ½ΡΠΎΠ½Π°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π½ΠΎΡΡΡΡ. Π’ΠΎ Π΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β ΡΡΠΎ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π½Π°Ρ, ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠΎΡΠΌΠ»Π΅Π½Π½Π°Ρ ΠΌΡΡΠ»Ρ.
Π Π»ΡΠ±ΠΎΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΅ΡΡΡ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠ½ΠΎΠ²Π°. ΠΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π΄Π²ΡΠΌΡ Π³Π»Π°Π²Π½ΡΠΌΠΈ ΡΠ»Π΅Π½Π°ΠΌΠΈ: ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°ΡΠΈΠΌ ΠΈ ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΌ. Π ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½ΠΈΡ : ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°ΡΠΈΠΌ ΠΈΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΌ. ΠΠΎ ΡΡΠΎ-ΡΠΎ ΠΎΠ΄Π½ΠΎ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ.
Π’Π΅ΠΊΡΡ β ΡΡΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ±ΡΠ°Π½Π½ΡΡ Π½Π΅ ΠΏΠΎΠΉΠΌΠΈ ΠΎΡΠΊΡΠ΄Π°, Π° ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅ΠΌΠΎΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΡΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΡ ΠΎΠ± ΠΎΡΠ΅Π½ΠΈ, ΠΎ Π»ΡΠ±Π²ΠΈ, ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° ΠΈ ΠΏΡ.
Π’Π΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅ΠΉΡΠ°Ρ ΠΏΠ΅ΡΠ΅Π΄ Π²Π°ΠΌΠΈ, β ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅. ΠΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π½Π΅ΠΌ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°Π½Ρ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ Π²Π°ΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ.
ΠΠ°ΠΊ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅
ΠΠ°Π΄ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΠΌΠΎΡΡΠΎΠ»ΠΎΠ³ΠΈΠΈ. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΡΠ΅Π½Ρ ΡΠ΅ΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½ Ρ ΠΌΠΎΡΡΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ, ΠΎΠ½ΠΈ Π²ΠΌΠ΅ΡΡΠ΅ ΠΎΠ±ΡΠ°Π·ΡΡΡ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΠΌΠ΅Π΅ΡΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠ²ΠΎ ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ ΡΠ΅ΡΠΈ β ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ Π²Π°Ρ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ΅ΠΌΠ½ΡΠΌ Π»Π΅ΡΠΎΠΌ.
ΠΠ΅ΡΡΠΌ Π±ΡΠ²Π°Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΡΡΠΎΠΈΡΡ ΡΡ Π΅ΠΌΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Π² ΡΠ°ΡΡΡΡ ΡΠ΅ΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Β«Π― ΡΠ²ΠΈΠ΄Π΅Π» ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ³ΡΠ°Π» Π½Π° Π°ΠΊΠΊΠΎΡΠ΄Π΅ΠΎΠ½Π΅Β».
Β«ΠΠΎΡΠΎΡΡΠΉΒ» β ΠΊΠ°ΠΊΠΎΠΉ ΡΡΠΎ ΡΠ»Π΅Π½ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΊΠ°ΠΊΠ°Ρ ΡΠ°ΡΡΡ ΡΠ΅ΡΠΈ?
Π― ΡΠΎΠ»ΡΠΊΠΎ Π² Π²ΡΠ·Π΅ ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ ΡΡΠΎ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°ΡΠ΅Π΅, Π²ΡΡΠ°ΠΆΠ΅Π½Π½ΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΌΠ΅ΡΡΠΎΠΈΠΌΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ Β«ΠΊΠΎΡΠΎΡΡΠΉΒ» = Β«ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΒ» (ΡΠΎΡ ΡΠ°ΠΌΡΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ³ΡΠ°Π΅Ρ Π½Π° Π°ΠΊΠΊΠΎΡΠ΄Π΅ΠΎΠ½Π΅).
Β«ΠΠ½ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π³ΠΎΡΠΏΠΈΡΠ°Π»Π΅Β». ΠΠΎΡΠ΅ΠΌΡ Β«Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡΒ» β ΠΏΡΠΎΡΡΠΎΠ΅ Π³Π»Π°Π³ΠΎΠ»ΡΠ½ΠΎΠ΅ ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΠ΅? ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ Π³Π»Π°Π³ΠΎΠ» Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΌ Π³Π»Π°Π³ΠΎΠ»ΠΎΠΌ Β«ΠΏΠΎΡΠ°Π±ΠΎΡΠ°Π΅ΡΒ».
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, Π²ΠΎΡ ΡΡΠΎ Π²ΡΡ Π½Π°Π΄ΠΎ Π΄Π΅ΡΠΆΠ°ΡΡ Π² Π³ΠΎΠ»ΠΎΠ²Π΅.
ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
Π§ΡΠΎΠ±Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΡΠ°Π²ΠΈΡΡ Π·Π½Π°ΠΊΠΈ ΠΏΡΠ΅ΠΏΠΈΠ½Π°Π½ΠΈΡ.
Π ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π·Π½Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ. ΠΠ°, Π±ΡΠ²Π°ΡΡ ΡΡΡΠ΄Π½ΡΠ΅, Π·Π°ΠΏΡΡΠ°Π½Π½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ, Π½ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ Π·Π½Π°ΠΊ Π΅ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ. Β«ΠΡΠ΄ΡΡ Π°ΡΡ, ΡΠΈΡΠ°Ρ ΠΊΠ½ΠΈΠ³Ρ, ΠΈ ΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΠΎΠΊΠ½ΠΎΒ» β Β«ΡΠΈΡΠ°Ρ ΠΊΠ½ΠΈΠ³ΡΒ» Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ Π·Π°ΠΏΡΡΡΠΌΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ Π΄Π΅Π΅ΠΏΡΠΈΡΠ°ΡΡΠ½ΡΠΉ ΠΎΠ±ΠΎΡΠΎΡ. Β«Π ΠΏΠ°ΡΠΊΠ΅ ΠΏΠ΅Π»ΠΈ ΠΏΡΠΈΡΡ ΠΈ ΡΠ²Π΅Π»Π° ΡΠΈΡΠ΅Π½ΡΒ» β Π·Π°ΠΏΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄ Β«ΠΈΒ» Π½Π΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ Π΄Π²ΡΡ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΡΠΎΡΡΠ°Π²Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ Π΅ΡΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²ΠΎ ΠΌΠ΅ΡΡΠ° β Β«Π² ΠΏΠ°ΡΠΊΠ΅Β». Π’Π°ΠΊ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ ΠΊΠ°ΠΆΠ΄Π°Ρ Π·Π°ΠΏΡΡΠ°Ρ.
Π Π΅ΡΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΠΈΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΠ·Π»Π°Π³Π°ΡΡ ΡΠ²ΠΎΠΈ ΠΌΡΡΠ»ΠΈ. ΠΠ΅ ΠΏΡΡΠ°ΡΡΡΡ ΠΈ Π½Π΅ ΡΠ±ΠΈΠ²Π°ΡΡΡΡ.
ΠΠΎΠ³Π΄Π° Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π·Π±ΠΎΡ, Π²Ρ ΡΠ»Π΅Π΄ΠΈΡΠ΅ Π·Π° ΠΌΡΡΠ»ΡΡ Π°Π²ΡΠΎΡΠ°, Π½Π°Π±Π»ΡΠ΄Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΎΠ½ Π΅Π΅ Π²ΡΡΠ°ΠΆΠ°Π΅Ρ ΡΠ΅ΡΠ΅Π· ΡΠ»ΠΎΠ²Π°. ΠΡΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅Ρ Π²Π°ΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΌΡΡΠ»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΌΠ΅Π½ΠΈΠ΅ Π²ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ·ΡΠΊ Π΄Π»Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΡΡΠ»Π΅ΠΉ ΠΈ ΡΡΠ²ΡΡΠ².
ΠΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΡΡΠΎΠΌ ΠΏΠ»Π°Π½Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΈΠΊΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΡ ΡΠ°ΠΊΠΎΠ΅, ΠΈΠ· Π§Π΅Ρ ΠΎΠ²Π°:
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΏΠΎ ΡΠ΅ΠΌΠ΅ ΡΡΠ°ΡΡΠΈ
ΠΠΎΠ΄ΠΏΠΈΡΠΈΡΠ΅ΡΡ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΡΠ°. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΡΠΈΡΡΠ»Π°ΡΡ Π²Π°ΠΌ Π½Π° ΠΏΠΎΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ°ΡΡΠΈ.
ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΏΠΎΠ΄Π±ΠΎΡΠΊΠΈ ΠΊΡΡΡΠΎΠ² ΠΏΠΎ ΡΡΡΡΠΊΠΎΠΌΡ ΡΠ·ΡΠΊΡ. Π’Π°ΠΌ Π΅ΡΡΡ ΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ. ΠΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ Π»ΡΡΡΠ΅ Π³ΠΎΡΠΎΠ²ΠΈΡΡΡΡ ΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠΌ ΡΠ°Π±ΠΎΡΠ°ΠΌ ΠΈ ΡΠΊΠ·Π°ΠΌΠ΅Π½Π°ΠΌ:
ΠΠΎΠ΄ ΡΡΠ°ΡΡΠ΅ΠΉ Π΅ΡΡΡ ΡΠΎΡΠΌΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² β ΡΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π²ΠΎΠΏΡΠΎΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΠΊΡΠΈΡΠΈΠΊΠΎΠ²Π°ΡΡ ΡΡΠ°ΡΡΡ.