Abstract classes, interfaces and types
Abstract classes
ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΊΠ»Π°ΡΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ abstract. Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π½Π°ΠΏΡΡΠΌΡΡ Π½Π΅Π»ΡΠ·Ρ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΡΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΠΎΠΏΠ»ΠΎΡΠ΅Π½ΠΈΡ
Interfaces
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ. ΠΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΠΌ interface.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, Π½ΠΎ ΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ implements. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Π»ΡΠ·Ρ ΠΌΠ΅Π½ΡΡΡ (ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° readonly)
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
TypeScript ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»Ρ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΡΡΠ²ΠΈΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ² Π² Π½Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΠΎΠ»Ρ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΠ»ΠΈΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΡ
ΠΊΠ»Π°ΡΡΠΎΠ²
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΈ). ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ΅Π»ΡΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ ΡΠ°Π·Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π° Π΅Π³ΠΎ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π°ΡΠ»Π΅Π΄ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡΡ ΡΡΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: ΠΊΠΎΡΡ ΠΈ ΡΠΎΠ±Π°ΠΊΠΈ β ΠΆΠΈΠ²ΠΎΡΠ½ΡΠ΅ (Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ), Π° ΡΠΌΠ΅Π½ΠΈΠ΅ Π±Π΅Π³Π°ΡΡ β ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ (ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ)
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ β ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΠΏΠΎΠ»Ρ
ΠΠ°ΡΠ»Π΅Π΄Π½ΠΈΠΊ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΎΠ±ΡΠ·Π°Π½ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π΅Π³ΠΎ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅, Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠΎΠ·Π΄Π°Π½ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ (ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ)
Type
ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ ΡΠΈΠΏΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° type
ΠΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΈ ΡΠ°ΡΡΠΈΡΡΡΡ ΠΊΠΎΠ΄ Π΄ΡΡΠ³ΠΈΡ :
ΠΡΠ»ΠΈΡΠΈΡ Type ΠΎΡ Interface
interface Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π° type Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ². ΠΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΏΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΈΡ ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠΎ ΠΎΠ½ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌΡ. ΠΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ Π½Π΅ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ , ΡΠΎ Π΄Π»Ρ Π½ΠΈΡ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ type:
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΠΈΠΏΡ Π½Π΅Π»ΡΠ·Ρ
ΠΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ ΡΠΈΠΏΠΎΠ²
type Π½Π΅ ΡΠΌΠ΅Π΅Ρ Π² ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π² ΡΠΈΠΏ Ρ ΠΎΠ΄Π½ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΡΠΌΠ΅ΡΡ
Π’ΠΈΠΏΡ ΠΌΠΎΠ³ΡΡ Π² ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ (
|
) ΠΈ Π² ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ (&
), Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π½Π΅ ΡΠΌΠ΅ΡΡ
Last updated