ΠΠ»Π°ΡΡΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ c: C# ΠΈ .NET | ΠΠ»Π°ΡΡΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π£ΡΠΎΠΊ 2 ΠΊΡΡΡΠ° «ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python»
Π ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python ΠΊΠ»Π°ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ class, Π·Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ°, ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠ°Π²ΠΈΡΡΡ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅, Π΄Π°Π»Π΅Π΅ Ρ Π½ΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈ Ρ ΠΎΡΡΡΡΠΏΠΎΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΡΠ΅Π»ΠΎ ΠΊΠ»Π°ΡΡΠ°:
class ΠΠΌΡΠΠ»Π°ΡΡΠ°: ΠΊΠΎΠ΄_ΡΠ΅Π»Π°_ΠΊΠ»Π°ΡΡΠ°
ΠΡΠ»ΠΈ ΠΊΠ»Π°ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΌ, ΡΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡΡΡ Π² ΠΊΡΡΠ³Π»ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΠΏΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ»Π°ΡΡΠ°.
ΠΠ±ΡΠ΅ΠΊΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ²Π° ΠΊΠ»Π°ΡΡΠ° ΠΏΠΎ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ»Π°ΡΡΠ° ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ°Π²ΡΡΡΡ ΡΠΊΠΎΠ±ΠΊΠΈ:
Π’ΠΎ Π΅ΡΡΡ ΠΊΠ»Π°ΡΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ Π² ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ·ΠΎΠ²Π° ΠΊΠ»Π°ΡΡΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ ΡΠ΅Π»Π°, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΎ Π±Ρ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π° ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π²Π°ΠΆΠ½ΠΎ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π΅Π³ΠΎ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠΎΡΡΠΎΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
ΠΈΠΌΡ_ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ = ΠΠΌΡΠΠ»Π°ΡΡΠ°()
Π ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π½ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ.
ΠΡΠΈΠΌΠ΅Ρ «ΠΏΡΡΡΠΎΠ³ΠΎ» ΠΊΠ»Π°ΡΡΠ° ΠΈ Π΄Π²ΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π½Π° Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²:
>>> class A: ... pass ... >>> a = A() >>> b = A()
ΠΠ»Π°ΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡΠ»Ρ
Π ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ. Π’Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ Π² Π½Π΅ΠΌ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ²ΠΎΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. Π’Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ Ρ ΠΊΠ»Π°ΡΡΠ° Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½, Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΠ΅ΡΠ΅Π· ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ°:
>>> class B: ... n = 5 ... def adder(v): ... return v + B.n ... >>> B.n 5 >>> B.adder(4) 9
ΠΠ΄Π½Π°ΠΊΠΎ Π² ΡΠ»ΡΡΠ°Π΅ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π°Ρ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ. ΠΡΡΡΡ ΠΈΠΌΠ΅Π½Π°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΠΊΠ»Π°ΡΡΠ΅, Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΠΌΠ΅Π½Π° n
ΠΈ adder
β ΡΡΠΎ Π°ΡΡΠΈΠ±ΡΡΡ ΠΊΠ»Π°ΡΡΠ° B
. ΠΡΡΠΈΠ±ΡΡΡ-ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠΌΠΈ ΠΈΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ. Π‘Π²ΠΎΠΉΡΡΠ²ΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ n
. ΠΡΡΠΈΠ±ΡΡΡ-ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ. ΠΠ΅ΡΠΎΠ΄ΠΎΠΌ Π² ΠΊΠ»Π°ΡΡΠ΅ B
ΡΠ²Π»ΡΠ΅ΡΡΡ adder
. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ²ΠΎΠΉΡΡΠ² ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π² ΠΊΠ»Π°ΡΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΡΠΌ.
ΠΠ»Π°ΡΡ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠ»Π°ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π½ΠΎ ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΌΠ΅ΡΠΎΠ΄ adder():
>>> l = B() >>> l.n 5 >>> l.adder(100) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: adder() takes 1 positional argument but 2 were given
Π ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ, ΡΡΠΎ adder() ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, Π° Π±ΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΎ Π΄Π²Π°. ΠΡΠΊΡΠ΄Π° ΠΌΠΎΠ³ Π²Π·ΡΡΡΡΡ Π²ΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, Π΅ΡΠ»ΠΈ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΡΠΈΡΠ»ΠΎ 100?
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΊΠ»Π°ΡΡΡ β ΡΡΠΎ Π½Π΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ. ΠΠ½ΠΈ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ. ΠΠ»Π°ΡΡ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ Π΅Π³ΠΎ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ°ΠΌΠΈ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ n
, ΡΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΈΡΠ΅Ρ Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Π΅ΠΌ Π²ΡΡΠ΅, ΡΠΎ Π΅ΡΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅ΡΠ»ΠΈ ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΠΎΠ»Π΅ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠ°ΠΊ Π² ΠΊΠ»Π°ΡΡΠ΅, ΡΠΎ ΠΎΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°Π΅Ρ, ΡΠΎ Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΏΠΎΠ»Π΅ ΠΊΠ»Π°ΡΡΠ°:
>>> l. n = 10 >>> l.n 10 >>> B.n 5
ΠΠ΄Π΅ΡΡ l.n
ΠΈ B.n
β ΡΡΠΎ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅. ΠΠ΅ΡΠ²Π°Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ ΠΎΠ±ΡΠ΅ΠΊΡΠ° l
. ΠΡΠΎΡΠ°Ρ β Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΊΠ»Π°ΡΡΠ° B
. ΠΡΠ»ΠΈ Π±Ρ ΠΌΡ Π½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π΅ n
ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ l
, ΡΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π±Ρ ΠΏΠΎΠ΄Π½ΡΠ»ΡΡ Π²ΡΡΠ΅ ΠΏΠΎ Π΄Π΅ΡΠ΅Π²Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΡΠΈΡΠ΅Π» Π±Ρ Π² ΠΊΠ»Π°ΡΡ, Π³Π΄Π΅ Π±Ρ ΠΈ Π½Π°ΡΠ΅Π» ΡΡΠΎ ΠΏΠΎΠ»Π΅.
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΡΠΎ ΠΎΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° l
Π½Π΅Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° adder
, Π·Π½Π°ΡΠΈΡ, ΠΎΠ½ ΠΈΡΠ΅ΡΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ B
.
ΠΠ΄Π½Π°ΠΊΠΎ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Π½Π΅ ΡΠ°ΠΊ Π²ΡΠ΅ ΠΏΡΠΎΡΡΠΎ, ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠ»ΡΠΌΠΈ. Π Python ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄, Π²ΡΠ·Π²Π°Π½Π½ΡΠΉ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ»Π°ΡΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, B.meth()
) ΠΈ ΠΎΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, l.meth()
), Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ. Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΠ»ΡΡΠ°Π΅ l.meth()
Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ Π½Π°Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² B.meth(l)
.
ΠΠΎ Π΅ΡΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ meth()
ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠ°ΠΊ Π½Π΅ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠΉ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Π° ΠΎΠ½ΠΈ Π² Π½Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅:
>>> class A: . .. def meth(): ... print(1) ... >>> a = A() >>> a.meth() Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: meth() takes 0 positional arguments but 1 was given >>> A.meth() 1
ΠΠ°ΡΠ΅ΠΌ Π² ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ? ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΠ±ΡΡΠ½ΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ β Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π Π²ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ Π΄Π°ΠΆΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° β ΡΡΠΎ ΡΠ°Π·Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ, ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π΅ΠΌΡ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄. ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ l.adder(100) Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡΡ Π°ΡΡΠΈΠ±ΡΡ adder() Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
l
. ΠΠ΅ Π½Π°Ρ ΠΎΠΆΡ.Π’ΠΎΠ³Π΄Π° ΠΈΠ΄Ρ ΠΈΡΠΊΠ°ΡΡ Π² ΠΊΠ»Π°ΡΡ
B
, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠΎΠ·Π΄Π°Π» ΠΎΠ±ΡΠ΅ΠΊΡl
.ΠΠ΄Π΅ΡΡ Π½Π°Ρ ΠΎΠΆΡ ΠΈΡΠΊΠΎΠΌΡΠΉ ΠΌΠ΅ΡΠΎΠ΄. ΠΠ΅ΡΠ΅Π΄Π°Ρ Π΅ΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π½Π°Π΄ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ, ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ .
ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ l.adder(100)
ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ B.adder(l, 100)
.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π² ΠΌΠ΅ΡΠΎΠ΄ adder() ΠΊΠ»Π°ΡΡΠ° B
Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° β ΠΎΠ±ΡΠ΅ΠΊΡ l
ΠΈ ΡΠΈΡΠ»ΠΎ 100. ΠΠΎ ΠΌΡ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ adder() ΡΠ°ΠΊ, ΡΡΠΎ ΠΎΠ½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ. Π Python ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π½Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡΡ ΠΏΡΠΈΠ½ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΠΌΠΎΠ΅. ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π°Π΄ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ²Π½ΠΎ.
ΠΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ Π² Python Π΄Π»Ρ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠΌΡ self. ΠΠΎΡ ΡΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΌΠ΅ΡΠΎΠ΄ adder(), Π΅ΡΠ»ΠΈ ΠΌΡ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΠΌ Π²ΡΠ·ΡΠ²Π°ΡΡ Π΅Π³ΠΎ ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΠ΅ΠΊΡΡ:
>>> class B: ... n = 5 ... def adder(self, v): ... return v + self.n ...
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ self ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π±ΡΠ» ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ Π΄Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΈ ΡΠ΅ΡΠ΅Π· ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΄ΠΎΡΡΡΠΏ ΠΊ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠΎΠ³Π΄Π° ΡΡΠΎΡ ΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊ Π΄ΡΡΠ³ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΡΠΎ self ΡΠ²ΡΠΆΠ΅ΡΡΡ ΡΠΆΠ΅ Ρ ΡΡΠΈΠΌ Π΄ΡΡΠ³ΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, ΠΈ ΡΠ΅ΡΠ΅Π· ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π±ΡΠ΄ΡΡ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°.
ΠΡΠΎΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄:
>>> l = B() >>> m = B() >>> l.n = 10 >>> l.adder(3) 13 >>> m.adder(4) 9
ΠΠ΄Π΅ΡΡ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° B
ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π΄Π²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ° β l
ΠΈ m
. ΠΠ»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° l
Π·Π°Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ n
. ΠΠ±ΡΠ΅ΠΊΡ m
, Π·Π° Π½Π΅ΠΈΠΌΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ, Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ n
ΠΎΡ ΠΊΠ»Π°ΡΡΠ° B
. ΠΠΎΠΆΠ½ΠΎ Π² ΡΡΠΎΠΌ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΠΏΡΠΎΠ²Π΅ΡΠΈΠ² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅:
>>> m.n is B.n True >>> l.n is B.n False
Π ΠΌΠ΅ΡΠΎΠ΄Π΅ adder() Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ self.n
β ΡΡΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ²ΠΎΠΉΡΡΠ²Ρ n
, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΈ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ.
ΠΡΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΡΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ. ΠΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠΎΠ±ΡΠΉ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈ ΠΌΠΎΠ³ΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΠ΅ΡΠ΅Π· ΠΊΠ»Π°ΡΡ, ΡΠ°ΠΊ ΠΈ ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΠ΅ΠΊΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. Π Python Π΄Π»Ρ ΠΈΠΌΠΈΡΠ°ΡΠΈΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· ΠΊΠ»Π°ΡΡ, Π½ΠΎ ΠΈ ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΠ΅ΠΊΡ, Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ ΡΠ°ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
Π Python ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠΎΠ»Ρ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΡ ΠΊΠ»Π°ΡΡΠ°, ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Ρ Π² ΠΊΠ»Π°ΡΡΠ΅:
>>> l.test = "hi" >>> B.test Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: type object 'B' has no attribute 'test' >>> l.test 'hi'
ΠΠ΄Π½Π°ΠΊΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ Π½Π΅ ΠΏΡΠΈΠ½ΡΡΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π±ΡΠ΄ΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎ Π½Π°Π±ΠΎΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ². ΠΡΠΎ Π·Π°ΡΡΡΠ΄Π½ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, Π²Π½Π΅ΡΠ΅Ρ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ Π°ΠΎΡ.
ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈΠ½ΡΡΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΡΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²:
>>> class User: ... def setName(self, n): ... self.name = n ... def getName(self): . .. try: ... return self.name ... except: ... print("No name") ... >>> first = User() >>> second = User() >>> first.setName("Bob") >>> first.getName() 'Bob' >>> second.getName() No name
ΠΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠ΅ΡΡΠ΅ΡΠ°ΠΌΠΈ (set β ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ) ΠΈ Π³Π΅ΡΡΠ΅ΡΠ°ΠΌΠΈ (get β ΠΏΠΎΠ»ΡΡΠΈΡΡ).
ΠΡΡΠΈΠ±ΡΡ __dict__
Π Python Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ. ΠΡ ΠΈΡ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ, Π½ΠΎ ΠΎΠ½ΠΈ Π΅ΡΡΡ. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΊΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ __dict__. ΠΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΊΠ»ΡΡΠΈ β ΡΡΠΎ ΠΈΠΌΠ΅Π½Π° ΡΠ²ΠΎΠΉΡΡΠ² ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°, Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ β ΡΠ΅ΠΊΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ².
>>> class B: ... n = 5 ... def adder(self, v): ... return v + self.n ... >>> w = B() >>> w.__dict__ {} >>> w.n = 8 >>> w.__dict__ {'n': 8}
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ° B ΡΠ½Π°ΡΠ°Π»Π° Π½Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ
Π°ΡΡΠΈΠ±ΡΡΠΎΠ². Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ n
ΠΈ ΠΌΠ΅ΡΠΎΠ΄ adder
β ΡΡΠΎ Π°ΡΡΠΈΠ±ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°-ΠΊΠ»Π°ΡΡΠ°, Π° Π½Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°-ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠΈΡΡ ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΌΡ ΠΏΠΎΠ»Ρ n
ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°, Ρ Π½Π΅Π³ΠΎ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ, ΡΡΠΎ ΠΌΡ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΠΌ ΡΠ΅ΡΠ΅Π· ΡΠ»ΠΎΠ²Π°ΡΡ __dict__.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ Π½Π°Π·Π½Π°ΡΠ°ΡΡΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π² ΠΌΠ΅ΡΠΎΠ΄Π°Ρ
ΠΊΠ»Π°ΡΡΠ°Ρ
ΠΏΡΡΠ΅ΠΌ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· self. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, self.n = 10
.
ΠΡΡΠΈΠ±ΡΡ __dict__ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΡΡΡ, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
>>> w.__dict__['m'] = 100 >>> w.__dict__ {'n': 8, 'm': 100} >>> w.m 100
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°Π±ΠΎΡΠ°
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ. ΠΡΡΡ ΠΊΠ»Π°ΡΡ «ΠΠΎΠΈΠ½». ΠΡ Π½Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π΄Π²Π° ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°-ΡΠ½ΠΈΡΠ°. ΠΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π·Π΄ΠΎΡΠΎΠ²ΡΠ΅ Π² 100 ΠΎΡΠΊΠΎΠ². Π ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΎΠ½ΠΈ Π±ΡΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°. Π’ΠΎΡ, ΠΊΡΠΎ Π±ΡΠ΅Ρ, Π·Π΄ΠΎΡΠΎΠ²ΡΡ Π½Π΅ ΡΠ΅ΡΡΠ΅Ρ. Π£ ΡΠΎΠ³ΠΎ, ΠΊΠΎΠ³ΠΎ Π±ΡΡΡ, ΠΎΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ Π½Π° 20 ΠΎΡΠΊΠΎΠ² ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΄Π°ΡΠ°. ΠΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΄Π°ΡΠ° Π½Π°Π΄ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊΠΎΠΉ ΡΠ½ΠΈΡ Π°ΡΠ°ΠΊΠΎΠ²Π°Π», ΠΈ ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΡΠΎΡΠΈΠ²Π½ΠΈΠΊΠ° ΠΎΡΡΠ°Π»ΠΎΡΡ Π·Π΄ΠΎΡΠΎΠ²ΡΡ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΊΠΎΠ³ΠΎ-ΡΠΎ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΡΡΡ Π·Π΄ΠΎΡΠΎΠ²ΡΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎ ΡΠΎΠΌ, ΠΊΡΠΎ ΠΎΠ΄Π΅ΡΠΆΠ°Π» ΠΏΠΎΠ±Π΅Π΄Ρ.
ΠΡΡΡ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠ°Π±ΠΎΡ ΠΈ Π²ΡΠ΅ΠΌΠΈ ΡΡΠΎΠΊΠ°ΠΌΠΈ:
android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, pdf-Π²Π΅ΡΡΠΈΡ
ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠ»Π°ΡΡΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΎ Π΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π² python.
ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (ΠΠΠ) β ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΠ»Π°ΡΡ β ΡΠΈΠΏ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠΉ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠ±ΡΠ΅ΠΊΡ β ΡΡΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ°. ΠΠ»Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ Ρ ΡΠ΅ΡΡΠ΅ΠΆΠΎΠΌ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
Python ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π python Π²ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ — ΠΈ ΡΡΡΠΎΠΊΠΈ, ΠΈ ΡΠΏΠΈΡΠΊΠΈ, ΠΈ ΡΠ»ΠΎΠ²Π°ΡΠΈ, ΠΈ Π²ΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅.
ΠΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΠΠ Π² python ΡΡΠΈΠΌ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ (ΠΊΠ»Π°ΡΡ), ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π² Π½ΡΠΌ ΡΠ²ΠΎΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ.
ΠΡΠΎ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ — ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΠΠ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΈ Π΄ΠΎΠ»Π³ΠΎΡΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π»ΡΠ΄ΡΠΌΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.
ΠΡΠΈΡΡΡΠΏΠΈΠΌ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ²ΠΎΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π½Π° python. ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ:
>>> # ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ ... class A: ... pass
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°:
>>> a = A() >>> b = A() >>> a.arg = 1 # Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° a ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π°ΡΡΠΈΠ±ΡΡ arg, ΡΠ°Π²Π½ΡΠΉ 1 >>> b.arg = 2 # Π° Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° b - Π°ΡΡΠΈΠ±ΡΡ arg, ΡΠ°Π²Π½ΡΠΉ 2 >>> print(a.arg) 1 >>> print(b.arg) 2 >>> c = A() >>> print(c.arg) # Π° Ρ ΡΡΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π½Π΅Ρ arg Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'A' object has no attribute 'arg'
ΠΠ»Π°ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ:
>>> class A: . .. def g(self): # self - ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π² ΡΠ΅Π±Π΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ... # ΠΊΠ»Π°ΡΡΠ°, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΠΈΠΉΡΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π°, ... # ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠΎΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ ... # Π²ΠΎ Π²ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄Π°Ρ ΠΊΠ»Π°ΡΡΠ°. ... return 'hello world' ... >>> a = A() >>> a.g() 'hello world'
Π Π½Π°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ:
>>> class B: ... arg = 'Python' # ΠΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π±ΡΠ΄ΡΡ ΠΈΠΌΠ΅ΡΡ Π°ΡΡΠΈΠ±ΡΡ arg, ... # ΡΠ°Π²Π½ΡΠΉ "Python" ... # ΠΠΎ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΠΌΡ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ... def g(self): ... return self.arg ... >>> b = B() >>> b.g() 'Python' >>> B.g(b) 'Python' >>> b.arg = 'spam' >>> b.g() 'spam'
ΠΠ»Π°ΡΡΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² Rubyβ Ruby Rush
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ Π½Π°ΡΡΠΈΠΌΡΡ ΠΏΠΈΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°ΠΉΠ»Ρ, ΡΠ·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π² Ruby, Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ-Π΄Π½Π΅Π²Π½ΠΈΠΊ.
ΠΠ»Π°Π½ ΡΡΠΎΠΊΠ°
- ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π² Ruby
- ΠΠ°ΠΏΠΈΡΡ Π² ΡΠ°ΠΉΠ»Ρ, ΠΏΠΈΡΠ΅ΠΌ Π΄Π½Π΅Π²Π½ΠΈΠΊ
youtube.com/embed/_RvhNoqZI2c» frameborder=»0″ allow=»accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture» allowfullscreen=»»/>
ΠΠ»Π°ΡΡΡ! ΠΠ΅Π»ΠΈΠΊΠΈΠ΅ ΠΈ ΠΌΠΎΠ³ΡΡΠΈΠ΅!
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ΠΌΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΎΠΏΠ΅ΡΠΈΡΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΌΡ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ ΠΎΠ± ΡΡΠΎΠΌ Π² 4-ΠΌ ΡΡΠΎΠΊΠ΅: ΡΡΡΠΎΠΊΠΈ, ΡΠΈΡΠ»Π°, ΠΌΠ°ΡΡΠΈΠ²Ρ.
ΠΠ°ΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ Ρ ΡΠ°Π½ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ : Π½Π΅ΠΊΠΈΡ ΡΡΠ»ΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ.
ΠΡ ΡΠΆΠ΅ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ Π² Ruby Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π½ΡΡ Π²ΠΈΠ΄ΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²: ΡΡΡΠΎΠΊΠΈ (String), ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° (Fixnum), ΠΌΠ°ΡΡΠΈΠ²Ρ (Array). ΠΡΠΈΡΠ»ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΎΠ·Π½Π°ΡΡ, ΡΡΠΎ ΡΡΠΈΡ ΡΠΈΠΏΠΎΠ² Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅: Π΅ΡΡΡ Π΅ΡΡ ΡΠ°ΠΉΠ»Ρ (File), Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ (Hash), ΠΌΠ΅ΡΠΊΠΈ (Symbol) Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (Time) ΠΈ Π΄Π°ΡΡ (Date), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ-ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅Π³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ.
Π‘ ΡΠ΅ΠΌ-ΡΠΎ ΠΌΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Π² ΡΡΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΡΡΡΠ°, ΡΡΠΎ-ΡΠΎ ΠΆΠ΄ΡΡ Π½Π°Ρ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ, Π½ΠΎ ΡΠ΅ΠΉΡΠ°Ρ Π²Π°ΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΎ, ΡΡΠΎ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π΅ΡΡΡ ΡΠ²ΠΎΠΉ ΡΠΈΠΏ.
Π’ΠΈΠΏΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ. Ruby Π½Π΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
Ruby Π²ΠΎΠΎΠ±ΡΠ΅ ΠΎΡΠ΅Π½Ρ Π²ΡΡΠΎΠΊΠΎΡΠ°Π·Π²ΠΈΡΡΠΉ ΡΠ·ΡΠΊ, ΡΠ°ΠΌ Π»ΡΠ±Π°Ρ Π·Π°ΠΊΠΎΡΡΡΠΊΠ° β ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠΎ ΡΡΠΎ ΡΠ°ΠΊ, Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅.
ΠΠ°ΠΏΠΎΠΌΠ½Ρ, ΡΡΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ»Π°ΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°Π² Ρ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΠΎ ΡΠ΅ΠΏΠΎΡΠΊΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ .class
ΠΈ .name
.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π²Π°ΠΌ ΡΡΠ°Π½Π΅Ρ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΊ ΠΊΠΎΠ½ΡΡ ΡΡΠΎΠ³ΠΎ ΡΡΠΎΠΊΠ°, Π° ΠΏΠΎΠΊΠ° ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ
puts "Π― ΡΡΡΠΎΠΊΠ°".class.name
Π²ΡΠ²Π΅Π΄Π΅Ρ Π½Π° ΡΠΊΡΠ°Π½ String
, Π°
puts ["Π","Ρ","ΠΌΠ°ΡΡΠΈΠ²","ΡΡΡΠΎΠΊ"].class.name
Π²ΡΠ²Π΅Π΄Π΅Ρ Π½Π° ΡΠΊΡΠ°Π½ Array
.
ΠΠ»Ρ ΡΠ΅Π³ΠΎ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΊΠ»Π°ΡΡΡ?
ΠΠ»Π°ΡΡ β ΡΡΠΎ Π½Π΅ΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ. ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΡΠΎΠ·Π΄Π°Π» ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠΎΠ²ΠΎΠ·, ΠΎΠ½ ΠΊΠ°ΠΊ-ΡΠΎ ΠΎΠΏΠΈΡΠ°Π» (Π½Π° Π±ΡΠΌΠ°Π³Π΅, Π² ΡΠ²ΠΎΠ΅ΠΌ Π²ΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ, Π² ΡΠ΅ΡΡΠ΅ΠΆΠ°Ρ ) Π½ΠΎΠ²ΠΎΠ΅ Π΄Π»Ρ ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ½ΡΡΠΈΠ΅ Β«ΠΏΠ°ΡΠΎΠ²ΠΎΠ·Β». ΠΠ½ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΠΏΡΠΈΠ΄ΡΠΌΠ°Π» ΠΊΠ°ΠΊΠΈΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΠΏΠ°ΡΠΎΠ²ΠΎΠ·, ΠΊΠ°ΠΊ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ ΠΎΠ½ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π» Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅, Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Β«ΠΏΠ°ΡΠΎΠ²ΠΎΠ·Β». ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π±Ρ ΡΠΊΠ°Π·Π°Π»ΠΈ β ΡΠΎΠ·Π΄Π°Π» ΠΊΠ»Π°ΡΡ ΠΠ°ΡΠΎΠ²ΠΎΠ·
.
Π ΡΠΆΠ΅ ΠΏΠΎΡΠΎΠΌ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΡΠ²ΠΎ Π½Π°ΡΠ°Π»ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠΎΠ²ΠΎΠ·Ρ, ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
Π’ΠΎ Π΅ΡΡΡ β ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, Ruby Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°ΡΡ ΠΈΡ ΠΊΠ»Π°ΡΡ. Π Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΏΠ΅ΡΠ²Π° ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΊΠ»Π°ΡΡ. ΠΠ±ΡΡΠ²ΠΈΡΡ ΠΊΠ»Π°ΡΡ ΡΡΠΎ Π·Π½Π°ΡΠΈΡ ΠΎΠΏΠΈΡΠ°ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΠ»Π°ΡΡ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΈ Π³Π»Π°Π²Π½ΠΎΠ΅ β ΠΊΠ°ΠΊΠΈΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π»Π°Π΄Π°ΡΡ.
ΠΠΎ ΡΠΈΡ ΠΏΠΎΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π² Ruby ΠΊΠ»Π°ΡΡΡ (ΡΡΡΠΎΠΊΠΈ, ΡΠΈΡΠ»Π°, ΠΌΠ°ΡΡΠΈΠ²Ρ) β ΠΌΡ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΡΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ Ρ Π½ΠΈΠΌΠΈ ΠΈΠ³ΡΠ°Π»ΠΈΡΡ. ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΡΠΈ ΠΊΠ»Π°ΡΡΡ, Π²Π΅Π΄Ρ ΠΎΠ½ΠΈ ΡΠΆΠ΅ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΠ°ΠΌΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Ruby.
Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΠ»ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΡΡ Π² ΡΠ·ΡΠΊΠ΅? Π Π±ΡΠ²Π°Π΅Ρ ΡΠ°ΠΊ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ. Π’ΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠ»Π°ΡΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌΡΡ Ρ ΡΠΈΠ»ΠΎΡΠΎΡΡΠΊΠΈΠΌ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ: Β«ΠΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠ»Π°ΡΡΡΒ». Π‘ΡΠ°Π·Ρ ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΡΡΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Ρ ΠΎΠΏΡΡΠΎΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ Π±ΠΎΠΉΡΠ΅ΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π΄Π΅Π»Π°ΡΡ ΠΊΠ»Π°ΡΡΡ ΠΊΠΎΠ³Π΄Π° ΡΡΠΈΡΠ°Π΅ΡΠ΅ ΡΡΠΎ Π½ΡΠΆΠ½ΡΠΌ.
Π ΡΠ³Π°ΡΡ Π²Π°Ρ Π·Π° ΡΡΠΎ Π½ΠΈΠΊΡΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ. ΠΠ°Π΄ΠΈΠΌ Π»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ²Π΅ΡΠΎΠ², ΠΊΠ°ΠΊ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΡΠΈΡΡΠ°ΡΠΈΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°.
1. ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ Π½Π΅ΠΊΡΡ ΡΠ°ΡΡΡ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π² Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΠ±ΡΠ΅ΠΊΡ ΡΠΎ ΡΠ²ΠΎΠΈΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ.
ΠΠ»Π°Π²Π½ΠΎΠ΅, ΡΡΠΎΠ±Ρ Π²Ρ ΡΡΡΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π»ΠΈ, ΠΊΠ°ΠΊ Π²Ρ ΠΎΠ±ΡΡΡΠ½ΠΈΡΠ΅ Π΄ΡΡΠ³ΠΎΠΌΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΡ, ΡΡΠΎ ΡΡΠΎ Π·Π° ΠΊΠ»Π°ΡΡ. ΠΡΠ»ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° Π² Π²ΠΈΠ΄Π΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° β ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΏΡΠΈΠ·Π½Π°ΠΊ, ΡΡΠΎ ΠΎΠ½ Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ Π²ΠΈΡΠ΅Π»ΠΈΡΡ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΡΠΎΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡ: Β«ΠΠ΅ΡΠ°ΡΠ°Π»ΡΡΠΈΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°Β», ΠΊΠΎΡΠΎΡΡΠΉ Π±Ρ Π·Π°Π½ΠΈΠΌΠ°Π»ΡΡ Π²ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
2. ΠΡΠ»ΠΈ Π² ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΠΉΡΡ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΡΠ΅Π»ΠΈ.
Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ³ΡΠ³Π»ΠΈΠ², Π²Ρ Π»ΠΈΠ±ΠΎ Π½Π°ΠΉΠ΄ΡΡΠ΅ Π½ΡΠΆΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ Π² Ruby, Π»ΠΈΠ±ΠΎ ΠΏΠΎΠΉΠΌΡΡΠ΅, ΠΊΠ°ΠΊ Π² ΡΡΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π»ΡΠ΄ΠΈ. ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π±ΡΡΡΡΠΎ Π½Π°ΠΉΡΠΈ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ, ΡΠΌΠ΅Π»ΠΎ Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ ΠΊΠ»Π°ΡΡ.
3. ΠΡΠ»ΠΈ Π² Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΅ΡΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ΅Π³ΠΎ-ΡΠΎ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΈΡΠ΅ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ, ΡΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΠΊΠ»Π°ΡΡ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΊΠ»Π°ΡΡ ΡΡΠ΅Π»Π»Π°ΠΆΠ°, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΊΠ»Π°ΡΡ Π°Π²ΡΠΎΡΠ° ΠΈ ΠΊΠ»Π°ΡΡ ΠΆΠ°Π½ΡΠ°.
ΠΡΠΎ Π²ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΡΡΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ Π² 10-ΠΌ ΡΡΠΎΠΊΠ΅.
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡ Π² Ruby?
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΊΠ»Π°ΡΡΡ ΡΠΎΠ»ΠΈΠ΄Π½Ρ. Π’ΠΎ Π΅ΡΡΡ, ΠΊΠ»Π°ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΎΠ±ΡΡΠΌΠ½ΡΠΉ ΠΊΡΡΠΎΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π§Π°ΡΡΠΎ ΡΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ°ΠΊ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΊΠ»Π°ΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ .
ΠΠ½ΠΎΠ³Π΄Π° ΠΊΠ»Π°ΡΡΡ Π΄Π°ΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΡΡΡΡΠΊΡΡΡΡ ΡΠ·ΡΠΊΠ°, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΡΠ°Π»ΠΎ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΡΡΡΠΎΠΊΠΈ String
ΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Time
, Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠ΅.
ΠΠ»Π°ΡΡΡ ΠΏΡΠΈΠ½ΡΡΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ . ΠΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΊΠ»Π°ΡΡΡ β ΡΠ²ΠΎΠΉ ΡΠ°ΠΉΠ». ΠΡΠΎ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΎ-Π²ΡΠΎΡΡΡ , ΠΊΠ»Π°ΡΡΡ Π²Π°ΠΆΠ½Ρ. ΠΡ ΠΏΡΠΎΡΡΠΎ-ΡΠ°ΠΊΠΈ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅ΠΌ Π΄ΠΎΡΠΎΠ³ΠΈΠΌ ΡΠ»ΡΡΠ°ΡΠ΅Π»ΡΠΌ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΡΡΡΠ° ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ»Π°ΡΡΡ, Π½Π°Π·ΡΠ²Π°Ρ ΠΈΡ Π°Π±Ρ ΠΊΠ°ΠΊ. ΠΡΠΈΠ΄ΡΠΌΠ°ΠΉΡΠ΅ ΡΠ²ΠΎΠ΅ΠΌΡ ΠΊΠ»Π°ΡΡΡ ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΡΡΠ΅Π΄ΠΈ Π½ΠΎΡΠΈ ΠΏΡΠΎΡΠ½ΡΡΡΡΡ ΠΈ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ, Ρ ΠΎΡΡ Π±Ρ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎ.
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΊΠ»Π°ΡΡ ΠΠΎΡΡ
(Bridge
), ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΎΠΏΠΈΡΠ΅ΠΌ Π² ΡΠ°ΠΉΠ»Π΅ bridge.rb
(ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ, ΠΏΠΎΠ»ΠΎΠΆΠΈΠ² Π΅Π³ΠΎ Π² Π½ΠΎΠ²ΡΡ ΠΏΠ°ΠΏΠΊΡ c:\rubytut\lesson11
):
class Bridge
# ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ°
end
Π§ΡΠΎΠ±Ρ Ruby ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠ΄, Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ°, ΠΌΡ ΠΎΠ±Π΅ΡΠ½ΡΠ»ΠΈ Π΅Π³ΠΎ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ class-end
. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΊΠ»Π°ΡΡΠΎΠ² Π² Ruby (Π² Π΄ΡΡΠ³ΠΈΡ
ΡΠ·ΡΠΊΠ°Ρ
ΡΠΎΠΆΠ΅) ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ Π±ΡΠΊΠ²Ρ.
ΠΡΠ»ΠΈ Π±Ρ ΠΊΠ»Π°ΡΡ ΡΠΎΡΡΠΎΡΠ» ΠΈΠ· Π΄Π²ΡΡ ΡΠ»ΠΎΠ², ΡΠΎ Π²ΡΠΎΡΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ ΡΠΎΠΆΠ΅ Π±ΡΠ»ΠΎ Π±Ρ Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ Π±ΡΠΊΠ²Ρ
class RoadBridge
...
end
ΠΠ½ΡΡΡΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ class-end
ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠ°ΠΊ ΠΌΡ ΡΠΆΠ΅ Π·Π½Π°Π΅ΠΌ, ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ def-end
.
ΠΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ initialize
β ΡΡΠΎ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ°, Π½ΠΎ ΠΎΠ± ΡΡΠΎΠΌ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ°
ΠΠΎΠΊΠ° ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π»ΠΈ ΠΊΠ»Π°ΡΡ, Π½ΠΈΡΠ΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ. ΠΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Ρ
ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ Π² Π½Π°ΡΠ΅ΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ doroga.rb
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΠ°ΠΉΠ» bridge.rb
Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠ° Bridge
.
ΠΡ ΡΠΌΠ΅Π΅ΠΌ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ require
:
require "bridge.rb"
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π°ΡΠ΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Bridge
. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ
bridge = Bridge.new
ΠΡΠΎ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ! ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΡΠΌΡΡ, ΡΡΠΎ Π·Π½Π°ΡΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Π² ΡΡΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ.
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ
, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ bridge
, ΠΎΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΌΠΈ Π±ΡΠΊΠ²Π°ΠΌΠΈ, Π·Π½Π°ΡΠΈΡ ΡΡΠΎ Π½Π΅ ΠΊΠ»Π°ΡΡ, Π° ΠΎΠ±ΡΠ΅ΠΊΡ, Π²Π΅ΡΠ½Π΅Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ.
ΠΠΎ-Π²ΡΠΎΡΡΡ
Π·Π½Π°ΠΊ ΡΠ°Π²Π½ΠΎ (=
), ΠΎΠ½ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ bridge
Ρ
ΠΎΡΠΈΠΌ ΡΡΠΎ-ΡΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ, Ρ
ΠΎΡΠΈΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ bridge
ΡΠΊΠ°Π·ΡΠ²Π°Π» Π½Π° ΡΠΎ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΏΡΠ°Π²Π° ΠΎΡ Π·Π½Π°ΠΊΠ° ΡΠ°Π²Π½ΠΎ.
Π-ΡΡΠ΅ΡΡΠΈΡ
, ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½Π°ΡΠ΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Bridge
. ΠΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π»ΠΈ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ bridge.rb
ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΠΈ Π΅Π³ΠΎ (ΡΠ°ΠΉΠ») Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ require
.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, .new
β ΠΌΡ Π²ΡΠ·Π²Π°Π»ΠΈ Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠ°ΠΊ Π±Ρ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΊΠ»Π°ΡΡΡ: Β«Π Π²Π΅Π»ΠΈΠΊΠΈΠΉ ΠΈ ΠΌΠΎΠ³ΡΡΠΈΠΉ! Π‘ΠΎΠ·Π΄Π°ΠΉ Π΄Π»Ρ Π½Π°Ρ ΡΠ²ΠΎΠ΅ Π·Π΅ΠΌΠ½ΠΎΠ΅ Π²ΠΎΠΏΠ»ΠΎΡΠ΅Π½ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°!Β»
Π ΠΊΠ»Π°ΡΡ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ: Β«Π’Π°ΠΊ ΠΈ Π±ΡΡΡ, Ρ ΡΠΆΠ°Π»ΡΡΡ Π½Π°Π΄ ΡΠΎΠ±ΠΎΠΉ, ΡΠΌΠ΅ΡΡΠ½ΡΠΉ ΠΈ Π΄Π°ΠΌ ΡΠ΅Π±Π΅ ΡΠ²ΠΎΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ, Π½ΠΎ ΠΏΡΠΈ ΠΎΠ΄Π½ΠΎΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠΈ β Ρ ΡΡΠ°Π·Ρ ΠΆΠ΅ Π²ΡΠ·ΠΎΠ²Ρ Ρ ΡΡΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄ initialize
Β».
ΠΠΎΡΡΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄ .new
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΡΠΈΡΠ΅ΠΌ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Ρ Π½Π΅Π³ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ initialize
. Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ.
class Bridge
def initialize
puts "ΠΠΎΡΡ ΡΠΎΠ·Π΄Π°Π½"
end
end
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΡΠ²ΠΈΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ ΡΠ°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π² Π½Π΅ΠΌ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» β ΡΠΎΠ³Π΄Π° ΡΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½Π΅ ΠΏΠΈΡΠ°ΡΡ, ΡΠΎΠ³Π΄Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΡΡΠΎΠΉ, ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΠΊΠ»Π°ΡΡΠ° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ°. ΠΠΎ-Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈ instance
. ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΡΡΠΈ ΡΠ»ΠΎΠ²Π°, Π²ΠΎΡ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΠΎΠ½ΠΈ Π½Π΅ΡΡΡ ΡΠ²Π΅Ρ ΠΎΠ·Π°ΡΠ΅Π½ΠΈΡ Π² ΡΠΈΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅! π
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π²ΡΡ ΡΡΡ Π΄ΡΠ°ΠΌΡ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, ΡΡΠΎΠ±Ρ Π±ΡΠ»ΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ. Π ΠΌΠ΅ΡΠΎΠ΄Π΅ initialize
, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½. ΠΡΠ»ΠΈ ΡΡΠΎ ΠΊΠ»Π°ΡΡ ΠΊΠ½ΠΈΠ³ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ Π΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ Π³ΠΎΠ΄ ΠΈΠ·Π΄Π°Π½ΠΈΡ. ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΅ΡΡ ΠΈΠΌΡ ΠΈ ΡΠ°ΠΌΠΈΠ»ΠΈΡ Π°Π²ΡΠΎΡΠ° ΠΈ ΠΆΠ°Π½Ρ. ΠΡΡ Π½Π° ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΊΠ»Π°ΡΡΠ°.
ΠΡΡ ΡΠ°Π·, ΠΎΠ±ΡΠ΅ΠΊΡ (ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ°) ΠΈ ΠΊΠ»Π°ΡΡ β ΡΡΠΎ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΠΈ, ΠΊΠ°ΠΊ Π΅ΡΡΡ Π²ΠΎΡ ΠΌΡ, Β«ΠΠΈΡΠ°Β» ΠΈ Β«ΠΠ°Π΄ΠΈΠΌΒ» β ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π° Π΅ΡΡΡ Β«Π§Π΅Π»ΠΎΠ²Π΅ΠΊΒ» β ΠΊΠ»Π°ΡΡ, Π½Π΅ΠΊΠΈΠΉ ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ°Π·, Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Ρ Π»ΡΠ΄Π΅ΠΉ Π½Π° ΠΠ΅ΠΌΠ»Π΅ (ΠΈ Π½Π° Π΅Ρ ΠΎΡΠ±ΠΈΡΠ΅, Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ Π³Π°Π»Π°ΠΊΡΠΈΠΊΠ°Ρ ).
ΠΡΠ°ΠΊ, ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π½ΠΎΠ²ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° Bridge
ΠΈ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΡΠ°ΠΊ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ bridge
ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡ.
ΠΡΠ»ΠΈ ΠΌΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ
puts bridge.class.name
Π’ΠΎ ΡΠ²ΠΈΠ΄ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° Bridge
.
Π ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΌΠ΅ΡΡΠ΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ. ΠΡΠΎΡΡΠ±Π° Π²ΡΠ΅Ρ
ΡΠ»Π°Π±ΠΎΠ½Π΅ΡΠ²Π½ΡΡ
ΡΠ΄Π°Π»ΠΈΡΡΡΡ. ΠΡΠ»ΠΈ Π²ΡΡ Π² Ruby ΡΡΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΠΊΠ»Π°ΡΡΠ°, ΡΠΎ ΡΡΠΎ ΠΆΠ΅ ΡΠΎΠ³Π΄Π° ΡΠ°ΠΊΠΎΠ΅ ΡΡΠΎΡ Π½Π°Ρ Bridge
? ΠΠ°ΠΊΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ Π²Π°ΠΌ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ ΡΡΠΎ ΡΠΎΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ! Β«ΠΠ°ΠΊΠΎΠΉ ΠΆΠ΅ Ρ Π½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡ?Β» β ΡΠΏΡΠΎΡΠΈΡΠ΅ Π²Ρ. ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΌΠΈ, Π²Ρ ΡΠΆΠ΅ Π½Π΅ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠ΅.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠ°
def open
puts "ΠΠΎΡΡ ΠΎΡΠΊΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π΅Ρ
Π°ΡΡ"
end
ΠΠ½ΡΡΡΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° Bridge
ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ open
. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π΅ΡΡΡ Π½Π΅ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ Π΅Π³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Β«ΠΎΡΠΊΡΡΡΡΒ» ΠΌΠΎΡΡ (ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° Bridge
), Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ bridge
, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ·Π²Π°ΡΡ Ρ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΌΠ΅ΡΠΎΠ΄ open
. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ ΠΈ ΠΈΠ·ΡΡΠ½ΠΎ:
bridge.open
ΠΈ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π½Π°Ρ ΡΠ΅ΠΊΡΡ ΠΎΡΠΊΡΡΡΠΈΡ ΠΌΠΎΡΡΠ°:
ΠΠΎΡΡ ΠΎΡΠΊΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π΅Ρ
Π°ΡΡ!
ΠΠΌΠ΅Π½Π½ΠΎ Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ° ΠΌΡ Π΄Π΅Π»Π°Π»ΠΈ, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ·ΡΠ²Π°Π»ΠΈ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ΅ΡΠΎΠ΄ to_s
:
array = [1,2,3]
puts array.to_s
Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ "[1, 2, 3]"
β ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° array
(ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ° Array
) ΠΌΠ΅ΡΠΎΠ΄ to_s
, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠΎΡ ΠΌΠ°ΡΡΠΈΠ² Π½ΠΎ ΡΠΆΠ΅ ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΡ (ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° String
).
ΠΠΎΠ»Ρ ΠΊΠ»Π°ΡΡΠ°
Π ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠ°ΠΊ ΠΈ Π² ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠ°ΠΊ ΠΈ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΎΠ½ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ (ΠΈΠ»ΠΈ Π½Π΅Ρ) ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Ρ ΠΊ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΊΠ»Π°ΡΡΠ° ΠΈ Π² ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π°Ρ Π² ΡΠ²ΡΠ·ΠΈ Ρ ΡΡΠΈΠΌ Π΄ΠΎΡΡΡΠΏΠ½Ρ Β«ΠΏΠΎΠ»Ρ ΠΊΠ»Π°ΡΡΠ°Β» ΠΈΠ»ΠΈ Β«ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ°Β» ΠΈΠ»ΠΈ Β«ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°Β». Π’Π°ΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ°, Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ².
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°Ρ ΠΌΠΎΡΡ bridge
(ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° Bridge
) ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠ°ΠΌΠ΅Π½Π½ΡΠΌ ΠΈΠ»ΠΈ Π΄Π΅ΡΠ΅Π²ΡΠ½Π½ΡΠΌ, Π΄Π»ΠΈΠ½Π½ΡΠΌ ΠΈΠ»ΠΈ ΠΊΠΎΡΠΎΡΠΊΠΈΠΌ, ΡΠ·ΠΊΠΈΠΌ ΠΈΠ»ΠΈ ΡΠΈΡΠΎΠΊΠΈΠΌ, ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π½ΡΠΌ ΠΈΠ»ΠΈ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΌ (ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠ΄ΠΎΡΠΎΠΆΠ½ΡΠΌ) ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΄Π΅Π»Π°Π΅ΠΌ Π½Π°Ρ ΠΌΠΎΡΡ ΠΎΡΠΊΡΡΠ²Π°ΡΡΠΈΠΌΡΡ ΠΈ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΠΎΠ»Π΅ ΠΊΠ»Π°ΡΡΠ° opened
(ΠΎΡΠΊΡΡΡ). Π ΡΡΠ±ΠΈ ΠΏΠΎΠ»Ρ ΠΊΠ»Π°ΡΡΠ° Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° Β«ΡΠΎΠ±Π°ΠΊΠΈΒ» β @
(ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΡΡΠ°Π»ΠΈΡΡ Ρ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ), ΠΏΠΎΡΡΠΎΠΌΡ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ ΠΌΡ ΠΎΠΏΠΈΡΠ΅ΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΡΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΡΠ°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅:
def initialize
puts "ΠΠΎΡΡ ΡΠΎΠ·Π΄Π°Π½"
@opened = false
end
Π° Π² ΠΌΠ΅ΡΠΎΠ΄ open
Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΏΠΎΠ»Ρ Π½Π° true
def open
@opened = true
puts "ΠΠΎΡΡ ΠΎΡΠΊΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π΅Ρ
Π°ΡΡ"
end
ΠΡΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅! ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠΎΠ±ΡΠΈΡΡ Ruby Π·Π°ΡΠ°Π½Π΅Π΅ ΠΊΠ°ΠΊΠΈΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Π±ΡΠ΄ΡΡ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
Π’Π΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΏΠΎΠ»Π΅ΠΉ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠ»Π°ΡΡΠ° ΡΠ²ΠΎΠΈΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ (ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΡΡ ΠΎΡΠΊΡΡΡ, Π΄ΡΡΠ³ΠΎΠΉ Π·Π°ΠΊΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ).
ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΠΏΠΈΡΠ΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ‘is_opened?’, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ true
, Π΅ΡΠ»ΠΈ ΠΌΠΎΡΡ ΠΎΡΠΊΡΡΡ ΠΈ false
, Π΅ΡΠ»ΠΈ Π·Π°ΠΊΡΡΡ:
def is_opened?
return @opened
end
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Ruby Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ, ΡΡΠΎ Π²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ true
ΠΈΠ»ΠΈ false
, Π±ΡΠ΄ΡΡ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ Π·Π½Π°ΠΊΠΎΠΌ Π²ΠΎΠΏΡΠΎΡΠ°. Π Π΄ΡΡΠ³ΠΈΡ
ΡΠ·ΡΠΊΠ°Ρ
ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π½Π°ΠΊ Π²ΠΎΠΏΡΠΎΡΠ° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π² Π½Π°Π·Π²Π°Π½ΠΈΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΡ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΡΡΡΡΠ°ΡΡΡΡ Π΄ΠΎ ΠΏΠΎΠ»Ρ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ· Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π½Π΅ΠΉ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ (Π΅ΡΠ»ΠΈ ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π΅Π»Π°ΡΡ ΠΈΠ· Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ).
Π ΡΠ°ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ doroga.rb
ΠΌΡ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ΅ΠΌ ΠΎΡΠΊΡΡΡΠΈΠ΅ ΠΌΠΎΡΡΠ° ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ»ΡΡΠ°Ρ, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΡΡ Π·Π°ΠΊΡΡΡ:
if !bridge.is_open?
bridge.open
end
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π½Π°Ρ ΠΌΠΎΡΡ ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ ΠΈ Π½Π°ΠΏΠΈΡΠ΅Ρ ΠΠΎΡΡ ΠΎΡΠΊΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π΅Ρ
Π°ΡΡ!
.
ΠΡΡ ΡΠ°Π· ΠΎΠ±ΡΠ°ΡΠΈΠΌ Π²Π°ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½ΠΎΠ²ΡΠΉ ΠΌΠΎΡΡ
another_bridge = Bridge.new
ΡΠΎ ΡΡΠΎΡ Π½ΠΎΠ²ΡΠΉ ΠΌΠΎΡΡ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΊΡΡΡ. another_bridge.is_open?
Π²Π΅ΡΠ½ΡΡ false
.
ΠΠ°Π΄ΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ²ΡΠΊΠ½ΡΡΡ ΠΊ ΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΠΊΠ»Π°ΡΡ-ΠΎΠ±ΡΠ΅ΠΊΡ.
ΠΠΎΡΠ»Π΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π² ΡΡΠΎΠΌ ΠΊΠ°ΠΊ ΡΡΠ±Π° Π² Π²ΠΎΠ΄Π΅.
ΠΡΡΠ°ΡΠΈ, ΡΡΠ±Π° ΠΈ ΡΠ΅Π»Π΅Π΄ΠΊΠ° β ΡΠ΅Π»Π΅Π΄ΠΊΠ° ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ (Π΅ΡΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΡΠ΅Π»Π΅Π΄ΠΊΠ°, Π²ΠΎΡ ΡΡΠ°).
Π ΠΏΡΠΎΡΡΠΎ «ΡΡΠ±Π°» ΡΡΠΎ ΡΠΆΠ΅ ΠΊΠ»Π°ΡΡ π
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ Ρ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΡΠΌ ΠΏΠΎΠ½ΡΡΠΈΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠΎΠ². Π£Π·Π½Π°Π»ΠΈ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΊΠ»Π°ΡΡ ΠΈ ΡΠ΅ΠΌ ΠΎΠ½ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°. ΠΠΎΠ½ΡΠ»ΠΈ ΠΊΠ°ΠΊ, Π° Π³Π»Π°Π²Π½ΠΎΠ΅ Π·Π°ΡΠ΅ΠΌ ΠΈΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΎΠ»Π½ΡΡΡ ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠ°ΠΊ ΠΈΡ ΠΏΠΈΡΠ°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. Π£Π·Π½Π°Π»ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΎ ΠΏΠΎΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΊΠ°ΠΊ Π² Π½ΠΈΡ Ρ ΡΠ°Π½ΡΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅.
Π Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΡΡ Π·Π°Π΄Π°ΡΠ°Ρ ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ΅ΠΌ Ρ ΠΈΡ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΠΈΡΠ΅Π»ΠΈΡΠ° β ΡΠ΄Π΅Π»Π°Π΅ΠΌ Π΅Π΅ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΠΉ ΠΈ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ.
C ++ — ΠΠ»Π°ΡΡΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ΅Π»ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° C ++ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π° ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C, Π° ΠΊΠ»Π°ΡΡΡ — ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ C ++, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ.
ΠΠ»Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠΎΡΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΠΎΠ΄ΠΈΠ½ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ.Β ΠΠ°Π½Π½ΡΠ΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ° Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π½Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² C ++
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΠ΅ ΠΊΠ»Π°ΡΡ, Π²Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΠ΅ ΡΡ Π΅ΠΌΡ Π΄Π»Ρ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ .Β ΠΡΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π΄Π°Π½Π½ΡΠ΅, Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ»Π°ΡΡΠ°, ΡΠΎ Π΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· ΠΊΠ»Π°ΡΡΠ° ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° ΡΠ°ΠΊΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ΅.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΒ ΠΊΠ»Π°ΡΡΠ°Β ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°,Β Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ°;Β ΠΈ ΡΠ΅Π»ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ Π² ΠΏΠ°ΡΡ ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ.Β ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π»ΠΈΠ±ΠΎ ΡΠΎΡΠΊΠΎΠΉ Ρ Π·Π°ΠΏΡΡΠΎΠΉ, Π»ΠΈΠ±ΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠΉ.Β ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ Box Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌΒ ΠΊΠ»Π°ΡΡΠ°Β ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°Β ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
class Box {
public:
double length; // Length of a box
double breadth; // Breadth of a box
double height; // Height of a box
};
ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎΒ publicΒ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π°ΡΡΠΈΠ±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ° Π΄Π»Ρ ΡΠ»Π΅Π½ΠΎΠ² ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡ Π·Π° Π½ΠΈΠΌ.Β ΠΠΎΡΡΡΠΏ ΠΊ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠΌΡ ΡΠ»Π΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ·Π²Π½Π΅ ΠΊΠ»Π°ΡΡΠ° Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ»Π°ΡΡΠ°.Β ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ»Π΅Π½ΠΎΠ² ΠΊΠ»Π°ΡΡΠ° ΠΊΠ°ΠΊΒ ΡΠ°ΡΡΠ½ΡΠ΅Β ΠΈΠ»ΠΈΒ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠ΅,Β ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ Π² ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² C ++
ΠΠ»Π°ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅ΡΡΠ΅ΠΆΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΈΠ· ΠΊΠ»Π°ΡΡΠ°.Β ΠΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΊΠ»Π°ΡΡΠ° Ρ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ, ΡΡΠΎ ΠΌΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΈΠΏΠΎΠ².Β Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ Π΄Π²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ»Π°ΡΡΠ° Box —
Box Box1; // Declare Box1 of type Box
Box Box2; // Declare Box2 of type Box
ΠΠ±Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ° Box1 ΠΈ Box2 Π±ΡΠ΄ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠΎΠΏΠΈΡ Π΄Π°Π½Π½ΡΡ .
ΠΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅Π½Π°ΠΌ Π΄Π°Π½Π½ΡΡ
ΠΠΎΡΡΡΠΏ ΠΊ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ Π΄Π°Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ»Π°ΡΡΠ° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΡΠΌΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° (.).Β ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ Π²ΡΠ΅ Π±ΡΠ»ΠΎ ΡΡΠ½ΠΎ —
#include <iostream>
using namespace std;
class Box {
public:
double length; // Length of a box
double breadth; // Breadth of a box
double height; // Height of a box
};
int main() {
Box Box1; // Declare Box1 of type Box
Box Box2; // Declare Box2 of type Box
double volume = 0.0; // Store the volume of a box here
// box 1 specification
Box1.height = 5.0;
Box1.length = 6.0;
Box1.breadth = 7.0;
// box 2 specification
Box2.height = 10.0;
Box2.length = 12.0;
Box2.breadth = 13.0;
// volume of box 1
volume = Box1.height * Box1.length * Box1.breadth;
cout << "Volume of Box1 : " << volume <<endl;
// volume of box 2
volume = Box2.height * Box2.length * Box2.breadth;
cout << "Volume of Box2 : " << volume <<endl;
return 0;
}
ΠΠΎΠ³Π΄Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΎΠ½ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
Volume of Box1 : 210
Volume of Box2 : 1560
ΠΠ°ΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π°ΠΊΡΡΡΡΠΌ ΠΈ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π½Π°ΠΏΡΡΠΌΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»Π΅Π½Ρ (.).Β ΠΡ ΡΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π°ΠΊΡΡΡΡΠΌ ΠΈ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΌ ΡΠ»Π΅Π½Π°ΠΌ.
ΠΠ»Π°ΡΡΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² Π΄Π΅ΡΠ°Π»ΡΡ
ΠΠΎ ΡΠΈΡ ΠΏΠΎΡ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΎΠ±ΡΠ΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ C ++ ΠΊΠ»Π°ΡΡΠ°Ρ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ .Β Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ C ++, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π°Ρ , ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π½ΠΈΠΆΠ΅:
Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΠ»Π΅Π½ΠΎΠ² ΠΊΠ»Π°ΡΡΠ°
Π€ΡΠ½ΠΊΡΠΈΡ-ΡΠ»Π΅Π½ ΠΊΠ»Π°ΡΡΠ° — ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π΅Π΅ ΠΏΡΠΎΡΠΎΡΠΈΠΏ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±Π°Ρ Π΄ΡΡΠ³Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ.
ΠΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΊΠ»Π°ΡΡΡ
Π§Π»Π΅Π½ ΠΊΠ»Π°ΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠ°ΠΊ ΠΎΡΠΊΡΡΡΡΠΉ, Π·Π°ΠΊΡΡΡΡΠΉ ΠΈΠ»ΠΈ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΉ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ»Π΅Π½Ρ Π±ΡΠ΄ΡΡ ΡΡΠΈΡΠ°ΡΡΡΡ Π·Π°ΠΊΡΡΡΡΠΌΠΈ.
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΈ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π² ΠΊΠ»Π°ΡΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ»Π°ΡΡΠ°. ΠΠ΅ΡΡΡΡΠΊΡΠΎΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ — ΡΡΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡ Π΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΡΠ°Π½Π΅Π΅.
Π€ΡΠ½ΠΊΡΠΈΠΈ Π΄ΡΡΠ³Π°
Π€ΡΠ½ΠΊΡΠΈΡ Π΄ΡΡΠ³Π° ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ ΠΏΠΎΠ»Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π°ΠΊΡΡΡΡΠΌ ΠΈ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΌ ΡΠ»Π΅Π½Π°ΠΌ ΠΊΠ»Π°ΡΡΠ°.
ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΡΡΠ°Π΅ΡΡΡ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ ΠΊΠΎΠ΄ Π² ΡΠ΅Π»Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ.
this ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ , ΡΡΠΎΡ , ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠ°ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ.
Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΊΠ»Π°ΡΡΡ C ++
Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΊΠ»Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΡΠΊΡΡΡΡ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΊΠ»Π°ΡΡ — ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠ° Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π² Π½Π΅ΠΌ.
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ°
ΠΠ±Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ»Π΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ ΠΊΠ°ΠΊ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅.
Β
Β
ΠΠΎΠ΄ΠΎΠ±Π½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΠΆΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ ΠΠ°ΡΠΈΡ Π·Π½Π°Π½ΠΈΠΉ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (object oriented programming, ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΠΎ OOP). Π’Π°ΠΊΠΎΠΉ ΠΆΠ΅ Π²ΠΎΠΏΡΠΎΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π·Π°Π΄Π°ΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° C++, ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π²Π°ΠΊΠ°Π½ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ.
Π’Π΅ΡΠΌΠΈΠ½Ρ class ΠΈ object ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΡΠ²ΡΠ·Π°Π½Ρ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ, Π½ΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠΌΡΡΠ». ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ ΡΠΌΡΡΠ»Π° ΡΠ΅ΡΠΌΠΈΠ½Π° «class» Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ OOP. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ class ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΠ΅Π°Π»ΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠ°ΠΊ, class ΡΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π°, ΡΠΎΡΡΠΎΡΡΠ°Ρ ΠΈΠ· Π°ΡΡΠΈΠ±ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΌΠ΅Π½ΡΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ — Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠ°.
ΠΠ±ΡΠ΅ΠΊΡ ΡΡΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ°. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ΅ΡΠΌΠΈΠ½ object ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΊΠ»Π°ΡΡΠ°. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΡ ΠΊΠ»Π°ΡΡΡ. ΠΠ±ΡΠ΅ΠΊΡΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΈ ΡΠ½ΠΈΡΡΠΎΠΆΠ°ΡΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΡ Π²ΡΠ΅ΠΌΡ ΠΆΠΈΠ·Π½ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ. ΠΠΎΠΊΠ° ΠΎΠ±ΡΠ΅ΠΊΡΡ «ΠΆΠΈΠ²ΡΠ΅», ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΌΠΎΠ³ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΡΡΡΡ.
ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΠΎΠΌ, ΠΎ ΡΠ΅ΠΌ ΡΡΡ ΠΈΠ΄Π΅Ρ ΡΠ΅ΡΡ. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΊΠ»Π°ΡΡ Animal (ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΠ΅). ΠΡΠ΅ ΠΆΠΈΠ²ΠΎΡΠ½ΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠ΅Π»Π° ΠΈ ΠΌΠΎΠ·Π³ΠΈ — ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π±ΡΡΡ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ Π½Π°ΡΠ΅Π³ΠΎ Π²ΡΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Animal. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊ ΠΊΠ»Π°ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠΈΠ΅ Ρ Π²ΡΠ΅Ρ ΠΆΠΈΠ²ΠΎΡΠ½ΡΡ — ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ movement (ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅), ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π²ΡΠ΅ ΠΆΠΈΠ²ΠΎΡΠ½ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ. ΠΠ΄Π΅Ρ, ΠΊΠΎΡΠΎΡΡΡ ΠΡ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ, ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΎΡ ΠΎΡΠ΅Π½Ρ ΠΎΠ±ΡΠΈΠΉ ΡΠ°Π±Π»ΠΎΠ½ Animal Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ, ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ Π΄Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΊΠ»Π°ΡΡ Animal.
ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° Animal Π±ΡΠ» Π±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΆΠΈΠ²ΠΎΡΠ½ΡΠΌ — Π»ΡΠ²ΠΎΠΌ, ΠΊΠΎΡΠΊΠΎΠΉ ΠΈΠ»ΠΈ Π·Π΅Π±ΡΠΎΠΉ. ΠΡΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΊΠ»Π°ΡΡΠ° Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. ΠΡΠΈΠ½ΠΈΠΌΠ°Ρ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΊΠ»Π°ΡΡ Animal — ΠΎΠ±ΡΠ΅Π΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅, ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° — Π»ΡΠ²Ρ, ΠΊΠΎΡΡ ΠΈ Ρ. Π΄. — Π±Π΅ΡΡΡ Π·Π° ΠΎΡΠ½ΠΎΠ²Ρ ΠΎΠ±ΡΠ΅Π΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π΅Π³ΠΎ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ.
ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ Π² ΡΠ²ΠΎΠΈΡ ΠΊΠ»Π°ΡΡΠ°Ρ — ΡΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²ΡΠ΅Π³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Ρ ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ, ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π·ΠΎΠ²ΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ΠΎ Π²Π΅ΡΠΈΡ ΠΈ Ρ. Π΄. Π’Π°ΠΊ ΡΡΠΎ ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΡΠΌΠ°ΡΡ ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ°ΠΊ ΠΎ ΡΠ΅ΠΌ-ΡΠΎ ΡΠ°ΠΊΠΎΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Π²ΠΎΠ΄ΠΈΡ ΠΊΠ»Π°ΡΡ Π² ΠΆΠΈΠ·Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ — ΠΎΡΡΡΠ΄Π° ΠΈ ΠΏΠΎΡΠ»ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ constructor, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ°.
Π£ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π΅ΡΡΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ «Π²ΡΠ΅ΠΌΡ ΠΆΠΈΠ·Π½ΠΈ», Π° Ρ ΠΊΠ»Π°ΡΡΠ° Π½Π΅Ρ. Π ΠΊΠ°ΠΊ ΡΡΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π°Ρ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠ»Π°ΡΡΠ° Animal, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ Π½ΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΆΠΈΠ·Π½ΠΈ — ΠΊΠΎΡ ΠΈΠ»ΠΈ Π·Π΅Π±ΡΠ° Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΆΠΈΡΡ Π²Π΅ΡΠ½ΠΎ. Π ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΠΎΠ³ΡΡ ΠΌΠ΅Π½ΡΡΡΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΈΡ «ΠΆΠΈΠ·Π½ΠΈ»; Π΅ΡΠ»ΠΈ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ size Π² ΠΊΠ»Π°ΡΡΠ΅ Animal, ΡΠΎ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΡΠ° ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΡΠΈ).
ΠΠ±ΡΠ΅Π΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΎΡ ΠΊΠ»Π°ΡΡΠ°. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΊΠ»Π°ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠ΅ΠΉ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ½ΡΡΠΈΡ (Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Animal), ΠΎΠ±ΡΠ΅ΠΊΡ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π²ΠΎΠΏΠ»ΠΎΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΠΏΡΠΈΡΠ΅ΠΌ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΆΠΈΠ·Π½ΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. ΠΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π΄ΡΠΌΠ°ΡΡ ΠΎΠ± ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»Π°ΡΡΠΎΠΌ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ — ΠΊΠ»Π°ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΡΠ΅Π³ΠΎ-ΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
[Π‘ΡΡΠ»ΠΊΠΈ]
1. In Java, whatβs the difference between an object and a class? site:programmerinterview.com. |
ΠΡΠ½ΠΎΠ²Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Π² Pyton 3. ΠΠ»Π°ΡΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ Π² Pyton
ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ± Π²Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π ΡΠ»ΡΡΠ°Π΅ Ρ ΠΠΠ β ΡΡΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ ΠΊΠ»Π°ΡΡΡ. Π§ΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΊΠ»Π°ΡΡΡ, ΠΈΠ· ΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΡ ΠΈ ΠΊΠ°ΠΊ Ρ Π½ΠΈΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ β ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Python
Π’ΠΎΡ, ΠΊΡΠΎ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΠ» ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π·Π½Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΎΠΌ ΡΡΠΈΠ»Π΅. ΠΠ΅Π΄Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ Π½Π΅Π³ΠΎ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π²Π΅ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ. Π§ΡΠΎ ΠΆΠ΅ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅? ΠΠΎ ΡΡΡΠΈ, ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΎΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ°ΡΡΡΠ½ΡΡΡΠΉ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ.
Π ΡΠΎ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΠΠΠ Π΅ΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ΅Π½ΠΎ, ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½ΠΎ. ΠΠ½ ΡΠΌΠ΅ΡΡΠ΅Π½ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΠΈ ΠΏΠΎ ΡΠ΅ΠΉ Π΄Π΅Π½Ρ Ρ ΡΡΠΏΠ΅Ρ ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ . ΠΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΠΊΠΎΠ΄Ρ Π½Π° 10000 ΡΡΡΠΎΠΊ ΠΈ Π±ΠΎΠ»ΡΡΠ΅, ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π΄ΠΎΡΡΠ°Π²ΠΈΡ ΠΌΠ°ΡΡΡ Π½Π΅ΡΠ΄ΠΎΠ±ΡΡΠ². Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΡΠΎ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅.
ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΎΠΊ Π²Π½ΡΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½Π° ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠΉΡΠΈ Π½Π΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Ρ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌ.
Π‘ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΠΠ ΡΠ΅ΡΠΈΡΡ ΡΡΡ Π·Π°Π΄Π°ΡΡ ΡΡΠ°Π»ΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅. Π ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π»Π΅ΠΆΠΈΡ ΠΈΠ΄Π΅Ρ, ΡΡΠΎ Π²ΡΠ΅ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΡΠ²ΡΠ·Π΅ΠΉ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, Π²Π΅Π΄Ρ ΡΠ΅Π±Ρ ΠΎΠ±ΠΎΡΠΎΠ±Π»Π΅Π½ΠΎ, Π½ΠΎ ΡΠ²Π»ΡΡΡΡ ΡΠ°ΡΡΠΈΡΠΊΠΎΠΉ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ»Π°ΡΡ Π² Python
ΠΠ»Π°ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠ΄:
ΠΠ΄Π΅ΡΡ, Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΡΡΠΎΠΊΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Β«Ρ Β», ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π½ΠΎ Π² Π½Π΅ΠΉ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². ΠΠ»Ρ ΠΈΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΏΠΈΡΠ°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ dir. ΠΠ· ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ, ΡΡΠΎ ΡΡΡΠΎΠΊΠ° ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΠΊΠ»Π°ΡΡΠ΅, Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ°.
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ°, ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²Π²Π΅ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ class, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅. ΠΠ°Π»Π΅Π΅ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ°, Π½ΠΎ ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠΏΡΡΠ΅Π½ ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π§ΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΡΠΎΠΊΠ΅, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Class._doc_ ΠΠ»Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΡ Ρ ΠΊΠ»Π°ΡΡΠΎΠΌ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΠ· ΡΠ΅Π³ΠΎ ΠΎΠ½ ΡΠΎΡΡΠΎΠΈΡ.
ΠΡΡΠΈΠ±ΡΡ
ΠΡΠ° ΡΠ°ΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΊΠ»Π°ΡΡΠ΅. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π²ΡΠ΅ Π΅Π³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΡΡΠΈΠ±ΡΡ Class ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ ΠΊΠΎΠΏΠΈΡ Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ°. ΠΠ½Π° ΠΆΠ΅, Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠ»ΠΈ ΡΡΠΎ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΡΠΎ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
class class_attribute: Β Β val = 1 Β Β def product(self): Β Β Β Β Β Β class_attribute.val *= 10 Β Β Β Β Β Β print(class_attribute.val) obj1 = class_attribute() obj1.product() obj2 = class_attribute() obj2.product()
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΠ»Π°ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠ»ΠΎΠ²ΠΎ val ΠΈ ΠΏΡΠΈΠ΄Π°Π΄ΠΈΠΌ Π΅ΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ val, ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π½ΠΈΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΡ product(). Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΌΠ½ΠΎΠΆΠΈΠ² Π΅Π³ΠΎ Π½Π° 10.
ΠΠΈΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π²ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠΎΠΏΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Π½ΠΈΡ ΠΎΠ±ΠΎΠΈΡ . Π’Π°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ° ΡΠ°Π²Π½ΠΎ 1, Π° ΠΏΠΎΡΠ»Π΅ ΠΎΠ½ΠΎ ΡΠΌΠ½ΠΎΠΆΠ°Π΅ΡΡΡ Π½Π° 10, ΡΠΎ Π² obj1 ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΈΡΠΎΠ³ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ val=10, Π° Π²ΠΎΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ obj2, val ΡΠΌΠ½ΠΎΠΆΠ°Π΅ΡΡΡ Π½Π° 10 ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 100. ΠΠ°ΠΊ ΠΈΡΠΎΠ³ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π²ΡΡΠ²Π΅ΡΠΈΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΠ΅ΡΠΎΠ΄
ΠΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ°, ΠΈ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ°. Π§ΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, Π½ΡΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΡΠ΅Π³ΠΎ ΡΠ°Π·Π»ΠΈΡΠ°Π΅ΡΡΡ ΡΡΠΈ Π²ΠΈΠ΄Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²:
- ΠΠ΅ΡΠΎΠ΄Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ°. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°ΡΡΠΈΠΉΡΡ ΠΌΠ΅ΡΠΎΠ΄. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° self, ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ°, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ Π½Π° ΡΠ°ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ. ΠΠ°Π½Π½ΡΠΉ Π²ΠΈΠ΄ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° self ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ Π΄ΡΡΠ³ΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ, ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΠΌ ΠΊ Π½Π΅ΠΌΡ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π°ΡΡΠΈΠ±ΡΡΠ° self._class_, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅. ΠΠ· ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ, ΡΡΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΊΠ»Π°ΡΡΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈΠ»ΠΈ ΠΊΠ»Π°ΡΡΠ° Π² ΡΠ΅Π»ΠΎΠΌ.
- ΠΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ°. Π‘ΡΡΠ½ΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΊΠ»Π°ΡΡΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° cls ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΊΠ»Π°ΡΡ. ΠΠ΅ΠΊΠ»Π°ΡΠΈΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡ classmethod. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠ»Π°ΡΡΠ° ΠΏΡΠΈΠ²ΡΠ·Π°Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΠΊΠ»Π°ΡΡΡ, Π½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΠΎΡΡΠΈ ΠΊ Π΅Π³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ. ΠΠ΅ΡΠΎΠ΄ ΠΊΠ»Π°ΡΡΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π°Π΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠ»Π°ΡΡΠ°, ΡΡΠΎ ΠΎΡΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° Π²ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ , ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΡΡ Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ°, Π½ΠΎ ΠΎΠ½ Π½Π΅ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
- Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ. ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡΠ° staticmethod. Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠ½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΡΠΏΠΎΡΠΎΠ±Π½Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ»ΠΈ ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ². ΠΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΈ ΠΏΠΎΡΠΎΠΌΡ Π½Π΅ Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π² ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌ Π·Π°ΠΏΠΈΡΡΠ²Π°Π½ΠΈΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ
ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΠ΅Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΎΠ΄, ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΠΌΡΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΎΠ½ ΡΡΠ°ΡΡΠ²ΡΠ΅Ρ Π² ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ°. Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ Π΄Π°Π΅ΡΡΡ ΡΠ²ΠΎΠ΅ ΠΈΠΌΡ, ΡΠ°ΠΊ Π² Python ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ _init_().
ΠΠ°Π»ΠΈΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π½Π°ΠΊΠΈ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° Π΅Π³ΠΎ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΡ ΠΊ Π³ΡΡΠΏΠΏΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ². ΠΡΠΈΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠ°ΠΊΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠ°ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²ΡΡΠΈΡΠ°Π½ΠΈΡ, Π²ΡΠ·ΠΎΠ²Π΅ ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΡ .
- ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ _init_.
- ΠΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π° Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
- Π§Π΅ΡΠ΅Π· ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
- ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ, ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΊΠ»Π°ΡΡ, ΠΎΠ½ Π²ΠΌΠ΅ΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ.
- Π ΡΠ»ΡΡΠ°Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π° ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠ»Π°ΡΡ.
# ΠΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ. class Rectangle : 'ΠΡΠΎ ΠΊΠ»Π°ΡΡ Rectangle' # Π‘ΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ) def __init__(self, width, height):Β Β Β Β Β Β Β Β self.width= width self.height = height def getWidth(self):Β Β Β Β Β Β Β return self.width def getHeight(self):Β Β Β Β Β Β Β return self.height # ΠΠ΅ΡΠΎΠ΄ ΡΠ°ΡΡΠ΅ΡΠ° ΠΏΠ»ΠΎΡΠ°Π΄ΠΈ. def getArea(self): return self.width * self.height
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠ»Π°ΡΡ Rectangle:
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ 2 ΠΎΠ±ΡΠ΅ΠΊΡΠ°: r1 & r2 r1 = Rectangle(10,5) r2 = Rectangle(20,11) print("r1.width = ", r1.width) print("r1.height = ", r1.height) print("r1.getWidth() = ", r1.getWidth()) print("r1.getArea() = ", r1.getArea()) print("-----------------") print("r2.width = ", r2.width) print("r2.height = ", r2.height) print("r2.getWidth() = ", r2.getWidth()) print("r2.getArea() = ", r2.getArea())
Π§ΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠ°
Π Π°Π±ΠΎΡΠ°Ρ Π½Π°Π΄ ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ. ΠΡΠΈ ΡΡΠΎΠΌ Π°ΡΡΠΈΠ±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΠΈΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠ². ΠΠΈΡΠΎΠ½ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ. ΠΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΎΡ ΡΠΊΡΠΏΠ΅ΡΡΠ°! ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΡΡΠ°ΡΡΠ²ΡΡΡΠΈΠ΅ Π² ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ°, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π΄ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
class Person: Β Β Β # ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π²ΠΎΠ·ΡΠ°ΡΡΠ° ΠΈ ΠΏΠΎΠ»Π° ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. Β Β Β def __init__(self, name, age=1, gender="Male"): Β Β Β Β Β Β Β self.name = name Β Β Β Β Β Β Β self.age = age Β Β Β Β Β Β Β self.gender= gender Β Β Β Β Β Β Β Β Β Β Β def showInfo(self): Β Β Β Β Β Β Β print("Name: ", self.name) Β Β Β Β Β Β Β print("Age: ", self.age) Β Β Β Β Β Β Β print("Gender: ", self.gender)
ΠΠ΄Π΅ gender =βMaleβ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ°Π»ΡΡΠ΅ Π·Π°Π΄Π°Π΅ΠΌ Π΄ΡΡΠ³ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
from person import Person # Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Person. aimee = Person("Aimee", 21, "Female") aimee.showInfo() print(" --------------- ") # Π²ΠΎΠ·ΡΠ°ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΠΎΠ». alice = Person( "Alice" ) alice.showInfo() print(" --------------- ") # ΠΠΎΠ» ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. tran = Person("Tran", 37) tran.showInfo()
Π ΠΈΡΠΎΠ³Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Ρ ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ.
Π‘ΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΡ
ΠΠ±ΡΠ΅ΠΊΡΡ Π² Python, ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠΌ, ΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π§ΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ Π°Π΄ΡΠ΅ΡΠ°. ΠΠΎΠΏΡΡΡΠΈΠΌ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΠ, ΡΡΡΠ»Π°ΡΡΠΈΠΉΡΡ Π½Π° ΠΠ. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΠ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΡΡΠ΅ΠΉΠΊΠ°, Π²Π΅Π΄Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΠ.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ ==, ΠΏΡΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π² ΠΊΠΎΠ΄Π΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π°Π½Π°Π»ΠΈΠ·Π°: Π½Π° ΠΎΠ΄Π½Ρ ΠΈΠ»ΠΈ ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ ΡΡΡΠ»Π°ΡΡΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ. ΠΡΠ»ΠΈ ΡΡΡΠ»ΠΊΠ° Π²Π΅Π΄Π΅Ρ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΌΠ΅ΡΡΡ, ΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ == Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡ True. ΠΠ»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΡΡΠ»Π°ΡΡΡΡ ΠΈΠ»ΠΈ Π½Π΅Ρ Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π½Π° ΠΌΠ΅ΡΡΠ° Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π°Π΄ΡΠ΅ΡΠ°ΡΠ°ΠΌΠΈ, ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ !=
from rectangle import Rectangle r1 = Rectangle(20, 10) r2 = Rectangle(20 , 10) r3 = r1 # Π‘ΡΠ°Π²Π½ΠΈΡΠ΅ r1 ΠΈ r2 test1 = r1 == r2 # --> False # Π‘ΡΠ°Π²Π½ΠΈΡΠ΅ r1 ΠΈ r3 test2 = r1 == r3 # --> True print ("r1 == r2 ? ", test1) print ("r1 == r3 ? ", test2) print (" -------------- ") print ("r1 != r2 ? ", r1 != r2) print ("r1 != r3 ? ", r1 != r3)
ΠΠ΄Π΅ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ:
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ
Π ΠΠΈΡΠΎΠ½Π΅ ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΡΡΠΈΠ±ΡΡΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ, ΠΈΠ·ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π½Π°ΠΌΠΈ. ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ Β«ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΊΠ»Π°ΡΡΠ°Β», ΡΠΎ Π²ΡΠΎΡΠΎΠ΅ ΠΊ Β«ΠΡΡΠΈΠ±ΡΡΠ°ΠΌΒ». Π Π°Π·Π±Π΅ΡΠ΅ΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
class Player: Β Β Β # ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΊΠ»Π°ΡΡΠ° Β Β Β minAgeΒ = 18 Β Β Β maxAge = 50 Β Β Β Β Β Β Β def __init__(self, name, age): Β Β Β Β Β Β Β self.name = name Β Β Β Β Β Β Β self.age = age
ΠΡΡΠΈΠ±ΡΡ
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ΅ΠΉΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΈΡ Π°ΡΡΠΈΠ±ΡΡΡ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π±ΡΠ΄ΡΡ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΡ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ:
from player import Player player1 = Player("Tom", 20) player2 = Player("Jerry", 20) print("player1.name = ", player1.name) print("player1.age = ", player1.age) print("player2.name = ", player2.name) print("player2.age = ", player2.age) print(" ------------ ") print("Assign new value to player1.age = 21 ") # ΠΡΠΈΡΠ²ΠΎΠΉΡΠ΅ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ Π²ΠΎΠ·ΡΠ°ΡΡΠ° player1. player1.age = 21 print("player1.name = ", player1.name) print("player1.age = ", player1.age) print("player2.name = ", player2.name) print("player2.age = ", player2.age)
ΠΡΠΎΠ³ΠΎΠ²ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
Π ΠΠΈΡΠΎΠ½Π΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΡΠ°Π½Π΅Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π³Π»ΡΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° player1 ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π°ΡΡΠΈΠ±ΡΡ address.
from player import Player player1 = Player("Tom", 20) player2 = Player("Jerry", 20) # Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ Π°ΡΡΠΈΠ±ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«addressΒ» Π΄Π»Ρ player1. player1.address = "USA" print("player1.name = ", player1.name) print("player1.age = ", player1.age) print("player1.address = ", player1.address) print(" ------------------- ") print("player2.name = ", player2.name) print("player2.age = ", player2.age) # player2 Π΅ ΠΈΠΌΠ΅Π΅Ρ Π°ΡΡΠΈΠ±ΡΡΠ° 'address' (Error!!) print("player2.address = ", player2.address)
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π²ΡΠ²ΠΎΠ΄:
player1.name =Β Tom player1.age =Β 20 player1.address =Β USA Β ------------------- player2.name =Β Jerry player2.age =Β 20 Traceback (most recent call last): Β File "C:/Users/gvido/class.py", line 27, in <module> Β Β Β print("player2.address = ", player2.address) AttributeError: 'Player' object has no attribute 'address'
ΠΡΡΠΈΠ±ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Β«ΡΠΎΡΠΊΠ°Β» (ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΠ°ΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ: player.age). ΠΠ»Ρ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
getattr (obj, name[,default]) | Π Π°Π±ΠΎΡΠ°Π΅Ρ Π½Π°Π΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π°ΡΡΠΈΠ±ΡΡΠ° ΠΈΠ»ΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π½Π΅ Π±ΡΠ»ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Ρ. |
hasattr (obj, name) | Π Π°Π±ΠΎΡΠ°Π΅Ρ Π½Π°Π΄ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ Π°ΡΡΠΈΠ±ΡΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ°: ΡΠΎΠ²Π΅ΡΡΠ°Π»Π°ΡΡ Π»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ name. |
setattr (obj, name, value) | Π Π°Π±ΠΎΡΠ°Π΅Ρ Π½Π°Π΄ ΠΏΡΠΈΠ΄Π°Π½ΠΈΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π°ΡΡΠΈΠ±ΡΡΡ. ΠΡΠΈ Π΅Π³ΠΎ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ. |
delattr (obj, name) | Π Π°Π±ΠΎΡΠ°Π΅Ρ Π½Π°Π΄ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ Π°ΡΡΠΈΠ±ΡΡΠ°. |
Π Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ°
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ²Π»ΡΡΡΡΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΠΈΡΠΎΠ½, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ ΠΎΡ Π½Π΅Π³ΠΎ:
ΠΡΡΠΈΠ±ΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
_dict_ | ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΌΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π°Π½Π½ΡΡ ΠΎ ΠΊΠ»Π°ΡΡΠ΅. |
Β Β Β Β Β Β Β Β Β Β Β _doc_ | ΠΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ None. |
_class_ | ΠΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ»Π°ΡΡΠ΅. |
Β Β Β Β Β _module_ | ΠΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° Π² Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ _main_. |
ΠΠΈΠ΄Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠ°
ΠΡΠ»ΠΈ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Java ΠΈΠ»ΠΈ C#, ΡΠΎ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Field. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΠ° Π² ΠΠΈΡΠΎΠ½Π΅ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠΎ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π‘ΠΎΠ²Π΅Ρ ΠΎΡ ΡΠΊΡΠΏΠ΅ΡΡΠ°! ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π° Π½Π΅ Π΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ°. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΏΡΡΠ°Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ.
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΡΡΠ΅ΠΉΠΊΠ°, ΠΈ ΠΎΠ½Π° Π°Π±ΡΠΎΠ»ΡΡΠ½Π° Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ°.
ΠΠ°ΡΠΈΠ°Π½ΡΡ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
Π§ΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π²ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ, ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΠ°, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²Π²ΠΎΠ΄ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ dir.
from player import Player # ΠΡΠ²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΎΠΊ Π°ΡΡΠΈΠ±ΡΡΠΎΠ², ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° 'Player' print(dir(Player)) print("\n\n") player1 = Player("Tom", 20) player1.address ="USA" # ΠΡΠ²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΎΠΊ Π°ΡΡΠΈΠ±ΡΡΠΎΠ², ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° 'player1' print(dir(player1))
ΠΠ°ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° ΡΠΊΡΠ°Π½ Π²ΡΠ²Π΅Π΄ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'maxAge', 'minAge']Β ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'address', 'age', 'maxAge', 'minAge', 'name']
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΠ°Π·ΠΎΠ±ΡΠ°Π½Ρ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅. Π§ΡΠΎ ΠΎΠ½ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ²ΠΎΠΉ ΡΠΎΡΡΠ°Π². Π ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ Π°ΡΡΠΈΠ±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
ΠΡΠ΅Π½ΠΈΡΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°ΡΡΠΈ. ΠΠ°ΠΌ Π²Π°ΠΆΠ½ΠΎ Π²Π°ΡΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅:
Π Π°Π΄ΡΠ΅Π½ΠΊΠΎ ΠΠ»Π΅Π± ΠΠ³ΠΎΡΠ΅Π²ΠΈΡ
ο»Ώ
ΠΠ°ΡΡΠ½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡ
- ΠΡΠΈΠ΄-Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ.
- ΠΠ±Π»Π°ΡΠ½ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ.
- Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ
ΠΡΠΎΠ΅ΠΊΡΡ
- ΠΡΠΎΠ΅ΠΊΡ Erasmus+ PWs@PhD. ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° PWs@PhD β ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°Π·Π²ΠΈΡΠΈΡ, ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·Π°ΡΠΈΠΈ, ΠΈΠ½ΡΠ΅ΡΠ½Π°ΡΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ Π΅Π²ΡΠΎΠΏΠ΅ΠΉΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ²Π½Ρ PhD, ΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ PhD-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² ΡΡΡΠ°Π½Π°Ρ -ΠΏΠ°ΡΡΠ½Π΅ΡΠ°Ρ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΠΈ.
- Π‘Π΅ΡΠ²ΠΈΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΈ Π³ΡΠΈΠ΄-ΡΡΠ΅Π΄Π°Ρ (ΠΏΡΠΎΠ΅ΠΊΡ DiVTB).
- ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π΅ΠΉΡΠΎΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ (Π§Π°ΡΡΡ 1, Π§Π°ΡΡΡ 2, Π§Π°ΡΡΡ 3).
ΠΠΎΠ²ΠΎΡΡΠΈ
- [2013-12-25]Β Β ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΈΡ ΠΊΡΡΡΠΎΠ²:
- [2013-12-17]Β Β ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΈΡ ΠΊΡΡΡΠΎΠ²:
- [2013-11-28]Β Β ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΈΡ ΠΊΡΡΡΠΎΠ²:
Β
- [2013-11-07]Β Β Π Π°Π·ΠΌΠ΅ΡΠ΅Π½Ρ ΡΠ»Π°ΠΉΠ΄Ρ ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠΉ:
- [2013-10-26]Β Π Π°Π·ΠΌΠ΅ΡΠ΅Π½Ρ ΡΠ»Π°ΠΉΠ΄Ρ ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠΉ:
- [2013-06-03]Β Β Π Π°Π·ΠΌΠ΅ΡΠ΅Π½Ρ ΡΠ»Π°ΠΉΠ΄Ρ ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠΉ:
[ΠΡΡ ΠΈΠ² Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ]
Π‘ΡΡΠ»ΠΊΠΈ
- Mendeley — ΡΠΈΡΡΠ΅ΠΌΠ° Π΄Π»Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΠ³ΡΠ°ΡΠΈΠ΅ΠΉ. ΠΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ Π² Microsoft Word, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ΅ ΡΡΠ°ΡΠ΅ΠΉ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΡΠ»ΠΎΠΊ,Β Π²ΠΊΠ»ΡΡΠ°Ρ ΠΠΠ‘Π’-7.0.5-2008.
- Memsource —Β ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΡΠ΅Π΄Π° Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΈΡΡΠΌΠ΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠ², Π²ΠΊΠ»ΡΡΠ°ΡΡΠ°Ρ Π±Π°Π·Ρ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠ², Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄, ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ MemSource Editor. ΠΠΎΠΆΠ΅Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ Π²ΡΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ Word ΠΈ PowerPoint.
ΠΠΎΠΉ ΠΏΡΠΎΡΠΈΠ»Ρ
Β
ΠΠ»Π°ΡΡΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ C ++
ΠΠ»Π°ΡΡΡ / ΠΎΠ±ΡΠ΅ΠΊΡΡ C ++
C ++ — ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠ΅ Π² C ++ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΡ
Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ ΠΈ
ΠΌΠ΅ΡΠΎΠ΄Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ — ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ . ΠΠ²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ ΠΈΠΌΠ΅Π΅Ρ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² , ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ Π²Π΅Ρ ΠΈ ΡΠ²Π΅Ρ, ΠΈ .
ΠΌΠ΅ΡΠΎΠ΄Ρ , ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΡΠΈΠ²ΠΎΠ΄ ΠΈ ΡΠΎΡΠΌΠΎΠ·.
ΠΡΡΠΈΠ±ΡΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ — ΡΡΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΈ
ΡΡΠ½ΠΊΡΠΈΠΈ , ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ.ΠΡ
ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ
Β«ΡΡΠ΅Π½ΠΈΠΊΠΈ ΠΊΠ»Π°ΡΡΠ°Β».
ΠΠ»Π°ΡΡ — ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΈ ΠΎΠ½
ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΠ»ΠΈ Β«ΠΏΠ»Π°Π½Β» Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡ
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ class
:
ΠΡΠΈΠΌΠ΅Ρ
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΊΠ»Π°ΡΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β« MyClass
Β»:
class MyClass {
// ΠΠ»Π°ΡΡ
public:
// Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π΄ΠΎΡΡΡΠΏΠ°
int myNum; //
ΠΡΡΠΈΠ±ΡΡ (ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΈΠΏΠ° int)
string myString; //
ΠΡΡΠΈΠ±ΡΡ (ΡΡΡΠΎΠΊΠΎΠ²Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ)
};
ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°
- ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ
class
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌMyClass
. - ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ
public
— ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π΄ΠΎΡΡΡΠΏΠ° , ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΠ»Π΅Π½Ρ (Π°ΡΡΠΈΠ±ΡΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ) ΠΊΠ»Π°ΡΡΠ° Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈΠ·Π²Π½Π΅. ΠΡ ΡΠ·Π½Π°Π΅ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΏΠΎΠ·ΠΆΠ΅. - ΠΠ½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ° Π΅ΡΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ
ΠΈ ΡΡΡΠΎΠΊΠΎΠ²Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ
myNummyString
. ΠΠΎΠ³Π΄Π° ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ° ΠΎΠ½ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ . - ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π·Π°Π²Π΅ΡΡΠΈΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° ΡΠΎΡΠΊΠΎΠΉ Ρ Π·Π°ΠΏΡΡΠΎΠΉ
;
.
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ
Π C ++ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΈΠ· ΠΊΠ»Π°ΡΡΠ°. ΠΡ ΡΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΊΠ»Π°ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ MyClass
,
ΡΠ°ΠΊ ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ MyClass
, ΡΠΊΠ°ΠΆΠΈΡΠ΅
ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ°, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
ΠΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌ ΠΊΠ»Π°ΡΡΠ° ( myNum
ΠΈ myString
) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΎΡΠ΅ΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ (.
)
Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ΅:
ΠΡΠΈΠΌΠ΅Ρ
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Β« myObj
Β» ΠΈ ΠΎΡΠΊΡΠΎΠΉΡΠ΅
Π°ΡΡΠΈΠ±ΡΡΡ:
class MyClass {// ΠΠ»Π°ΡΡ
ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ:
// Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π΄ΠΎΡΡΡΠΏΠ°
int myNum; //
ΠΡΡΠΈΠ±ΡΡ (ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΈΠΏΠ° int)
string myString; //
ΠΡΡΠΈΠ±ΡΡ (ΡΡΡΠΎΠΊΠΎΠ²Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ)
};
int main () {
MyClass myObj ;
// Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° MyClass
// ΠΠΎΡΡΡΠΏ ΠΊ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
myObj.myNum
= 15;
myObj.myString = «ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°»;
// Π Π°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ²
cout << myObj.myNum << "\ n";
cout << myObj.myString;
Π²ΠΎΠ·Π²ΡΠ°Ρ 0;
}
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°:
ΠΡΠΈΠΌΠ΅Ρ
// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠ»Π°ΡΡ Car Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ.
class Car {
public:
string brand; ΠΠΎΠ΄Π΅Π»Ρ ΡΡΡΡΠ½Ρ
;
ΠΈΠ½Ρ
Π³ΠΎΠ΄;
};
int main () {
// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ Car
Car carObj1;
carObj1.ΠΌΠ°ΡΠΊΠ° = «BMW»;
carObj1.model = «X5»;
carObj1.year = 1999;
// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ Car
Car
carObj2;
carObj2.brand = «Π€ΠΎΡΠ΄»;
carObj2.model =
Β«ΠΡΡΡΠ°Π½Π³Β»;
carObj2.year = 1969;
// ΠΠ΅ΡΠ°ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ²
cout << carObj1.brand
<< "" << carObj1.model << "" << carObj1.year << "\ n";
cout <<
carObj2.brand << "" << carObj2.ΠΌΠΎΠ΄Π΅Π»Ρ << "" << carObj2.year << "\ n";
Π²ΠΎΠ·Π²ΡΠ°Ρ 0;
}
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »
class — ΠΠΎΡΠ΅ΠΌΡ ΠΊΠ»Π°ΡΡΡ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π² C ++?
Π― Π²ΡΠ΅Π³Π΄Π° Π΄ΡΠΌΠ°Π», ΡΡΠΎ ΠΊΠ»Π°ΡΡΡ ΡΠ²Π»ΡΡΡΡΡ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΠ°ΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
Π―Π·ΡΠΊ Π² Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ΅ ΠΠΠ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½. ΠΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈ ΡΠΎ, ΡΡΠΎ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ.
ΠΠ»Π°ΡΡ — ΡΡΠΎ ΡΠ°Π±Π»ΠΎΠ½ ΠΈΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ (ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°).Π’ΠΎ Π΅ΡΡΡ ΠΊΠ»Π°ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ, ΡΠΈΠ³Π½Π°ΡΡΡΡ ΡΠΈΠΏΠΎΠ² ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° (ΠΈΠ»ΠΈ ΡΠΈΠΏΠ° … ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΡΡΠΎΠΌ ΠΏΠΎΠ·ΠΆΠ΅).
ΠΠ±ΡΠ΅ΠΊΡ — ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΌΠ΅ΡΡΠΎ Π² ΠΏΠ°ΠΌΡΡΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Ρ ΠΎΡΠΎΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΠΎΠ΄Ρ. ΠΡΠ΅Π΄Π»Π°Π³Π°Ρ Π²Π°ΠΌ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ:
http://en.wikipedia.org/wiki/Class_(computer_programming)
http://en.wikipedia.org/wiki/Object_(object-oriated_programming)
Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡ ΡΠΈΠΏΠ° .Π’ΠΈΠΏ (ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·ΡΠ²Π°ΡΡ Π² Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ) ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π°Π±ΠΎΡ ΡΠΈΠ³Π½Π°ΡΡΡ ΡΠΈΠΏΠ° / ΠΌΠ΅ΡΠΎΠ΄Π° (ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ). Π’Π°ΠΊΠΈΠ΅ Π²Π΅ΡΠΈ, ΠΊΠ°ΠΊ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Java ΠΈ ΡΠΈΡΡΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ C ++, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΈΠΏΠΎΠ² (Π½ΠΎ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅).
Π’ΠΎΠ³Π΄Π° ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠΎΠΌΡ ΡΠΈΠΏΡ (Π±ΡΠ΄Ρ ΡΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈΠ»ΠΈ ΡΠΈΡΡΡΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ), ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° .
ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΈΠΏΠ° — ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΡΠ΅ΡΠ΅ΠΏΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° / ΡΠΈΠΏΠ° Π² ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠΎΠ³Π΄Π° Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° / ΡΠΈΠΏΠ°, Π²Ρ ΡΠ΅ΠΈΡΠΈΡΠΈΡΡΠ΅ΡΠ΅, ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ (ΠΎΠ±ΡΠ΅ΠΊΡ) ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π² ΠΏΠ°ΠΌΡΡΠΈ.
Π C ++ ΠΊΠ»Π°ΡΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°ΠΌ ΠΊΠ»Π°ΡΡ Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ. ΠΠ»Π°ΡΡ C ++ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° (ΡΠΌ. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π΄Π°Π» Π²ΡΡΠ΅).
OTH, Π² ΡΠ°ΠΊΠΈΡ ΡΠ·ΡΠΊΠ°Ρ , ΠΊΠ°ΠΊ Java, ΡΠ°ΠΌ ΠΊΠ»Π°ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌΠΈ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° (java.lang.Class). ΠΡΠ°ΠΊ, Ρ ΠΊΠ»Π°ΡΡΠ° X Π΅ΡΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ Π½ΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΠΏΠ°ΠΌΡΡΠΈ (ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ java.lang.Class).Π Ρ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ, Ρ ΡΡΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ «class» , Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ (ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ) ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ (ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ) ΠΊΠ»Π°ΡΡΠ° / ΡΠΈΠΏΠ° X.
ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ±ΠΈΡΡ Ρ ΡΠΎΠ»ΠΊΡ. Π― Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π²Π°ΠΌ ΠΏΠΎΠΈΡΠΊΠ°ΡΡ ΠΈ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ ΠΊΠ»Π°ΡΡΠ°ΠΌ, ΡΠΈΠΏΠ°ΠΌ, ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ°ΠΌ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ / ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌ.
, ΠΈ Ρ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΡΠΎ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅. ΠΠ°ΠΊ ΠΊΠ»Π°ΡΡΡ Π½Π΅
ΠΎΠ±ΡΠ΅ΠΊΡΡ,
ΠΠ°ΠΊ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΎ Π²ΡΡΠ΅. ΠΠ»Π°ΡΡ — ΡΡΠΎ Π½Π΅ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΠ±ΡΠ΅ΠΊΡ — ΡΡΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ, ΡΠ°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΏΠΎ Β«ΡΠ΅ΡΠ΅ΠΏΡΡΒ» ΠΊΠ»Π°ΡΡΠ° ΠΈΠ»ΠΈ ΡΠΈΠΏΠ°.
ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ, Π΅ΡΠ»ΠΈ ΡΠ·ΡΠΊ ΡΡΠ°ΡΠΈΡΠ΅Π½?
ΠΡΠ° ΡΠ°ΡΡΡ ΠΊΠ½ΠΈΠ³ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ Π² Π·Π°Π±Π»ΡΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Java, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ, ΠΈ ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΊΠ»Π°ΡΡΡ ΡΠ°ΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ΅ΠΊΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ·ΡΠΊΠ°ΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, JavaScript), Π³Π΄Π΅ ΠΊΠ»Π°ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌΠΈ.
Π― ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠ²ΠΎ Β«ΠΎΠ±ΡΠ΅ΠΊΡΒ», Π° ΠΏΡΠΎΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ Β«ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈΒ» ΠΈ Β«ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌΠΈΒ». ΠΠΎ ΡΡΠΎ ΠΌΠΎΠ΅ Π»ΠΈΡΠ½ΠΎΠ΅ ΠΏΡΠΈΡΡΡΠ°ΡΡΠΈΠ΅.ΠΡΡΠ³ΠΈΠ΅ ΠΌΠΎΠ³ΡΡ Π½Π΅ ΡΠΎΠ³Π»Π°ΡΠΈΡΡΡΡ, ΠΈ ΠΏΡΡΡΡ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊ.
ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² C ++ | Studytonight
ΠΠ»Π°ΡΡΡ — ΡΠ°ΠΌΠ°Ρ Π²Π°ΠΆΠ½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ C ++, Π²Π΅Π΄ΡΡΠ°Ρ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ»Π°ΡΡ — ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΡΠΎΠ·Π΄Π°Π² ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π²Π½ΡΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΠ»Π΅Π½Ρ Π΄Π°Π½Π½ΡΡ , Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ-ΡΠ»Π΅Π½Π°ΠΌΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: ΠΠ»Π°ΡΡ ΠΏΡΠΈΡ, Π²ΡΠ΅ ΠΏΡΠΈΡΡ ΡΠΌΠ΅ΡΡ Π»Π΅ΡΠ°ΡΡ, ΠΈ Ρ Π²ΡΠ΅Ρ Π΅ΡΡΡ ΠΊΡΡΠ»ΡΡ ΠΈ ΠΊΠ»ΡΠ²Ρ.ΠΡΠ°ΠΊ, Π·Π΄Π΅ΡΡ ΠΏΠΎΠ»Π΅Ρ — ΡΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π° ΠΊΡΡΠ»ΡΡ ΠΈ ΠΊΠ»ΡΠ² — ΡΠ°ΡΡΡ ΠΈΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ. Π ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π½ΡΡ ΠΏΡΠΈΡ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, Π½ΠΎ Π²ΡΠ΅ ΠΎΠ½ΠΈ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΠΌΠΈ.
Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ»Π°ΡΡ — ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ»Π°Π½, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. Π Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π±ΡΠ΄ΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΡΡ ΡΡΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΊΠ»Π°ΡΡΠ°Ρ
- ΠΠΌΡ ΠΊΠ»Π°ΡΡΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡΠΊΠ²Ρ (Ρ
ΠΎΡΡ ΡΡΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ).ΠΡΠ»ΠΈ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°, ΡΠΎ ΠΏΠ΅ΡΠ²Π°Ρ Π±ΡΠΊΠ²Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π² Π²Π΅ΡΡ
Π½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅. ΠΡΠΈΠΌΠ΅Ρ ,
ΠΊΠ»Π°ΡΡ Study, ΠΊΠ»Π°ΡΡ StudyTonight ΠΈ Ρ. Π.
- ΠΠ»Π°ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ, ΠΈ Π΄ΠΎΡΡΡΠΏ ΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ° (ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΠΌΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅).
- ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π²Π½ΡΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ»ΠΈ Π²Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ°.
- Π² C ++ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ ΡΡΡΡΠΊΡΡΡΠ°ΠΌ Π² C, Ρ ΡΠΎΠΉ Π»ΠΈΡΡ ΡΠ°Π·Π½ΠΈΡΠ΅ΠΉ, ΡΡΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΡΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ°, Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΡΡΠΊΡΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ°.
- ΠΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ OOPS Π²ΡΠ°ΡΠ°ΡΡΡΡ Π²ΠΎΠΊΡΡΠ³ ΠΊΠ»Π°ΡΡΠΎΠ² Π² C ++. ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ, Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ ΠΈ Ρ. Π.
- ΠΠ±ΡΠ΅ΠΊΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ ΡΠ»Π΅Π½ΠΎΠ² Π΄Π°Π½Π½ΡΡ . ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ°, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ.
- ΠΠ»Π°ΡΡΡ ΠΎΠ±Π»Π°Π΄Π°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ, Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ ΠΊΠ»Π°ΡΡΡ, Π²ΡΠ΅ ΡΡΠΎ ΠΌΡ ΠΈΠ·ΡΡΠΈΠΌ ΠΏΠΎΠ·ΠΆΠ΅.
Π€ΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ°
ΠΠ»Π°ΡΡ
ΠΠ±ΡΠ΅ΠΊΡΡ ΠΊΠ»Π°ΡΡΠΎΠ²
Class — ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠ»Π°Π½ ΠΈΠ»ΠΈ ΡΠ°Π±Π»ΠΎΠ½. ΠΠΎΠ³Π΄Π° ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ, Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π½Π΅ Π½Π°Π·Π½Π°ΡΠ°Π΅ΡΡΡ.ΠΠ±ΡΠ΅ΠΊΡΡ — ΡΡΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΡ , ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ Π² ΠΊΠ»Π°ΡΡΠ΅, ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΡΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°.
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΡ . ΠΠ±ΡΠ΅ΠΊΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠ»Π°ΡΡΠ°, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ . Π ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°Ρ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΠΎΠ·ΠΆΠ΅.
Π Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ΅ΠΊΡ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΠ²ΠΎΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π΄ΡΡΠ³Π°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ-ΡΠ»Π΅Π½ ΠΊΠ»Π°ΡΡΠ°, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠ°Ρ ΠΠ΅ΡΡΡΡΠΊΡΠΎΡ , ΡΡΠΎΠ±Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ, Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ.Π C ++ Π½Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ±ΠΎΡΡΠΈΠΊΠ° ΠΌΡΡΠΎΡΠ°, ΠΊΠ°ΠΊ Π² JAVA, Π² C ++ ΡΡΡ Π·Π°Π΄Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ.
ΠΊΠ»Π°ΡΡ Abc
{
int x;
ΠΏΡΡΡΠΎΠΉ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ ()
{
// ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π·Π°ΡΠ²Π»Π΅Π½ΠΈΠ΅
}
};
int main ()
{
Abc obj; // Π‘ΠΎΠ·Π΄Π°Π½ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° Abc
}
ΠΠ»Π°ΡΡΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ | C ++
ΠΠ΄Π½Π° ΠΈΠ· Π»ΡΡΡΠΈΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ C ++ — ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΡ . Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π°Π½Π½ΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ Π΄Π²ΠΈΠΆΡΡΠ΅ΠΉ ΡΠΈΠ»ΠΎΠΉ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅.ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡ ΡΡΡΠΎΠΊΠΈ, ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ ΠΈ Π²ΡΡΠΈΡΠ°ΡΡ ΡΠΈΡΠ»Π°, ΡΡΠΈΡΠ°ΡΡ Π²Π΅ΡΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΠΎ Π²ΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ Π²Π°ΠΆΠ½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΠΎΠ»ΡΡΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠΎ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΡΠ°ΠΌΡΡ ΡΠ°Π·Π½ΡΡ Π²Π΅ΡΠ°Ρ .
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π°ΡΠΈΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΊΡΡΡΠ° Π±ΡΠ»ΠΎ ΡΠΎ, ΡΡΠΎ ΠΌΡ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΡΠ΅Π½Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ .ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π΅ΡΠ»ΠΈ Π·Π°Π΄ΡΠΌΠ°ΡΡΡΡ, ΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π½Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ, ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΡΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ Π±ΡΠ΄ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π΄Π»Ρ Π½Π°Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΈΡΠ°ΡΡ Π²ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΠΌΠΈΠΌΠΎ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΈΡΠ΅Π», ΡΠ΅ΠΊΡΡΠ° ΠΈ ΠΈΡΡΠΈΠ½Π½ΠΎΠΉ / Π»ΠΎΠΆΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π²Π΅ΡΠ΅ΠΉ , Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅ΠΌ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΠΌΠΈΡΠ΅, Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π»Π΅Π³ΠΊΠΎ ΡΠΎΡ ΡΠ°Π½Π΅Π½Ρ Π² ΡΡΡΠΎΠΊΠ΅, ΡΠΈΡΠ»Π΅ ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.Π ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΌΡ Ρ ΠΎΡΠ΅Π»ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΊΡΡΠ΅ΠΉ ΠΊΠ½ΠΈΠ³. ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ, Π° ΠΊΠ°ΠΊ ΠΌΡ Ρ ΡΠ°Π½ΠΈΠΌ ΡΡΠΈ ΠΊΠ½ΠΈΠ³ΠΈ?
ΠΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Ρ ΡΠ°Π½ΠΈΡΡ ΠΈΡ Π² Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ , ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠ°Π½ΠΈΡ ΠΈ Π΄Π°ΡΡ ΠΈΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΡΠ΅Π», ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈΠΌΡ ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π°Π²ΡΠΎΡΠ° Π² ΡΡΡΠΎΠΊΠ°Ρ . ΠΠΎ, Π½Π°Π΄Π΅ΡΡΡ, Π²Π°ΠΌ ΡΡΠ½ΠΎ, ΡΡΠΎ Π½Π΅Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ½ΠΈΠ³ΠΈ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π΄Π°Π΅ΠΌ. ΠΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π² ΠΊΠ½ΠΈΠ³Π΅ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (ΠΠΠ)
ΠΠ° Π·Π°ΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΎΡΡΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΡΠ΄ΠΈΠ»ΠΈΡΡ ΠΈ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅, ΡΡΠΎΠ±Ρ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π». ΠΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ² Π±ΡΠ»ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ Π»ΡΡΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ — ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡΡΡΠΎΠΊΠ°ΠΌ, Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΈ ΡΠΈΡΠ»Π°ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
Book
. ΠΡΠΎΡ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
ΠΊΠ½ΠΈΠ³ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
, ΠΏΠ΅ΡΠ΅Π΄Π°Π½ Π² ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°Π½ ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌ, ΡΡΠΎ ΠΌΠΎΠ³ΡΡ Π΄Π΅Π»Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
.
Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ , Π²Ρ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ ΠΈΠ»ΠΈ ΡΡΡΠ½ΠΎΡΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΡ ΠΈΠ»ΠΈ ΡΠΈΡΠ»ΠΎ.
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅, Π±ΡΠ΄Ρ ΡΠΎ facebook, google, gruhhub ΠΈΠ»ΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π² ΠΊΡΡΡΠ΅, Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Π»ΡΡΡΠ΅ΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΊΠ½ΠΈΠ³ΠΈ.
ΠΠ»Π°ΡΡΡ
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΆΠ΅ Π½Π°ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ ? ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ, ΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, ΡΠΎΠ·Π΄Π°Π² ΠΊΠ»Π°ΡΡ.ΠΠ»Π°ΡΡ — ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ Π² Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , ΠΌΡ ΡΠ½Π°ΡΠ°Π»Π° Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠΏΠΈΡΠ°ΡΡ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΠΈ ΠΊΠ°ΠΊ Π²Π΅Π΄ΡΡ ΡΠ΅Π±Ρ, ΡΡΠΎΠ±Ρ C ++ Π·Π½Π°Π», ΡΡΠΎ Ρ Π½ΠΈΠΌΠΈ Π΄Π΅Π»Π°ΡΡ.
ΠΠ»Π°ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΡΠ΅ΡΡΠ΅ΠΆΠΈ. ΠΠ½ΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , ΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π²ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ .
C ++ ΡΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°ΠΌ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ : Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅, ΡΡΡΠΎΠΊΠΈ (ΡΠ΅ΠΊΡΡ) ΠΈ ΡΠΈΡΠ»Π°.ΠΠΎΠ³Π΄Π° ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π½Π°ΡΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· ΡΡΠΈΡ Π±Π°Π·ΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ . ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°ΡΡ Π°ΡΡΠΈΠ±ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠ»Π°ΡΡ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ ΡΡΠΈΡ Π±Π°Π·ΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ .
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΠΠ½ΠΈΠ³ΠΈ:
ΠΠΎΠΏΠΈΡ ΠΊΠ»Π°ΡΡΠ½Π°Ρ ΠΊΠ½ΠΈΠ³Π° {
ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ:
ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅;
Π°Π²ΡΠΎΡ ΡΡΡΠΎΠΊΠΈ;
int numPages;
};
ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΊΠ»Π°ΡΡ — ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΠΏΠ»Π°Π½, ΠΎΠ½ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΡΠΎΡΡΠ°Π² ΡΡΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ ΠΊΠ½ΠΈΠ³ΠΈ.
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΡΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎ ΠΊΠ½ΠΈΠ³Π° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ, Π°Π²ΡΠΎΡΠ° ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΡΠ°Π½ΠΈΡ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΡΠΎΡ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ ΠΊΠ½ΠΈΠ³ΠΈ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π±Π°Π·ΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ» ΡΠ·ΡΠΊ. Π‘ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΈ Π² ΡΡΠΎΡ ΠΊΠ½ΠΈΠΆΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ, Π½ΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΠΌ ΡΡΠΎ Π΄Π»Ρ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΡΠΎΠΊΠ°.
ΠΠ±ΡΠ΅ΠΊΡΠΎΠ²
ΠΡΠ°ΠΊ, ΡΠ΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π½Π°Ρ ΠΊΠ»Π°ΡΡ book, C ++ Π·Π½Π°Π΅Ρ, ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΡΠΎΡ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , ΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΊΠ½ΠΈΠ³Π°ΠΌΠΈ Π² Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ»Π°ΡΡ book — ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ. ΠΠ±ΡΠ΅ΠΊΡ — ΡΡΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ°. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π½Π°ΡΡΠΎΡΡΠ°Ρ ΠΊΠ½ΠΈΠ³Π° Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ, Π°Π²ΡΠΎΡΠΎΠΌ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΡΡΠ°Π½ΠΈΡ.
ΠΡΠΎ Π²Π°ΠΆΠ½ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ. ΠΠ»Π°ΡΡ — ΡΡΠΎ ΠΏΠ»Π°Π½ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ , ΠΎΠ±ΡΠ΅ΠΊΡ — ΡΡΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π°.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ½ΠΈΠ³ΠΈ Π½Π° C ++:
ΠΠΎΠΏΠΈΡ ΠΊΠ»Π°ΡΡΠ½Π°Ρ ΠΊΠ½ΠΈΠ³Π° {
ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ:
ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅;
Π°Π²ΡΠΎΡ ΡΡΡΠΎΠΊΠΈ;
int numPages;
};
int main () {
ΠΠ½ΠΈΠ³Π° book1;
ΠΊΠ½ΠΈΠ³Π°1.title = "ΠΠ°ΡΡΠΈ ΠΠΎΡΡΠ΅Ρ";
book1.author = "ΠΠΆ. Π. Π ΠΎΡΠ»ΠΈΠ½Π³";
book1.numPages = 500;
cout << book1.title << endl;
ΠΠ½ΠΈΠΆΠ½Π°Ρ ΠΊΠ½ΠΈΠ³Π°2;
book2.title = "ΠΠ»Π°ΡΡΠ΅Π»ΠΈΠ½ ΠΊΠΎΠ»Π΅Ρ";
book2.author = "ΠΠΆ. Π . Π . Π’ΠΎΠ»ΠΊΠΈΠ½";
book2.numPages = 300;
cout << book2.title << endl;
Π²ΠΎΠ·Π²ΡΠ°Ρ 0;
}
ΠΡΠ°ΠΊ, ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΡΠΎ ΠΊΠ½ΠΈΠ³Π° Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ, Π°Π²ΡΠΎΡΠΎΠΌ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΡΡΠ°Π½ΠΈΡ! Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ C ++, ΡΡΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΊΡΡΡΠ°.
Π ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ½ΠΈΠ³ΠΈ ΠΌΡ Π½Π°Π·Π½Π°ΡΠΈΠ»ΠΈ Π΅ΠΌΡ ΡΡΠ΄ Π°ΡΡΠΈΠ±ΡΡΠΎΠ², ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ.
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ Π°Π²ΡΠΎΡ - ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΡΡΠΎΠΊΠΈ, Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠ°Π½ΠΈΡ - ΡΡΠΎ ΡΠΈΡΠ»ΠΎ. ΠΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΠΈΠΌ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ .
. Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠΌΡ Π°ΡΡΠΈΠ±ΡΡΠ°. ΠΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΡΠΌΠ΅Π½ΠΎΠΉ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ½ΠΈΠ³ΠΈ.
ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΎΡ ΠΈ Π²ΡΠ΅! ΠΠ»Π°ΡΡΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΠ΅ΡΠ°Π»ΡΠ½ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠ±ΠΈΠ²Π°ΡΡ Ρ ΡΠΎΠ»ΠΊΡ Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², Π½ΠΎ ΠΏΠΎΠΊΠ° Π²Ρ Π½Π°ΡΡΠΈΡΠ΅ΡΡ Π²ΠΈΠ΄Π΅ΡΡ Π² Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΡΠ°ΠΉΠ½Ρ ΠΈΡΡΠ΅Π·Π½Π΅Ρ.
ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΊΠ»Π°ΡΡ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ, Π½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ»Π°ΡΡΡ Π΄Π»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π³ΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΠΎΠΈΠ³ΡΠ°ΡΡ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΈΠ· Π²Π°ΡΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ Π² Π½Π°ΡΡ ΠΊΠ½ΠΈΠ³Ρ! Π’Π°ΠΊΠΆΠ΅ Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΠΈΠ΄Π΅ΠΎ Π²ΡΡΠ΅, Π³Π΄Π΅ Ρ ΠΏΡΠΎΠ²Π΅Π΄Ρ Π²Π°Ρ ΠΏΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ!
11.2 - ΠΠ»Π°ΡΡΡ ΠΈ ΡΠ»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠΎΠ²
Π₯ΠΎΡΡ C ++ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ΄ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, char, int, long, float, double ΠΈ Ρ. Π.), ΠΠΎΡΠΎΡΡΡ ΡΠ°ΡΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΡ Π·Π°Π΄Π°Ρ, ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΎ. ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΈΡ ΡΠΈΠΏΠΎΠ².ΠΠ΄Π½Π° ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ C ++ - ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΡΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΠ΅ΡΠ°Π΅ΠΌΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅. ΠΡ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅ΠΌΡΠ΅ ΡΠΈΠΏΡ ΠΈ ΡΡΡΡΠΊΡΡΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π°ΡΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ .
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°ΡΡ:
struct DateStruct { int year {}; int ΠΌΠ΅ΡΡΡ {}; int Π΄Π΅Π½Ρ {}; }; |
ΠΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌΡΠ΅ ΡΠΈΠΏΡ ΠΈ ΡΡΡΡΠΊΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π΄Π°Π½Π½ΡΡ (ΡΡΡΡΠΊΡΡΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅) ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΉ ΠΌΠΈΡ Π½Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π°Π½Π½ΡΠ΅.Π C ++ 11 ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡ ΡΡΡΡΠΊΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
DateStruct ΡΠ΅Π³ΠΎΠ΄Π½Ρ {2020, 10, 14}; // ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ |
Π’Π΅ΠΏΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π²ΡΠ²Π΅ΡΡΠΈ Π΄Π°ΡΡ Π½Π° ΡΠΊΡΠ°Π½ (ΡΡΠΎ ΠΌΡ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΈΠΌ ΡΠ΄Π΅Π»Π°ΡΡ), ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ. ΠΠΎΡ ΠΏΠΎΠ»Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 14 18 19 20 21 22 23 | #include struct DateStruct { int year {}; int ΠΌΠ΅ΡΡΡ {}; int Π΄Π΅Π½Ρ {}; }; void print (const DateStruct & date) { std :: cout << date.Π³ΠΎΠ΄ << '/' << date.month << '/' << date.day; } int main () { DateStruct ΡΠ΅Π³ΠΎΠ΄Π½Ρ {2020, 10, 14}; // ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΄ΠΈΠ½ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ today.day = 16; // ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠ±ΠΎΡΠ° ΡΠ»Π΅Π½Π°, ΡΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ»Π΅Π½ ΡΡΡΡΠΊΡΡΡΡ print (today); Π²ΠΎΠ·Π²ΡΠ°Ρ 0; } |
ΠΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ:
16.10.2020
ΠΠ»Π°ΡΡΡ
Π ΠΌΠΈΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΡ ΡΠ°ΡΡΠΎ Ρ ΠΎΡΠΈΠΌ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠΈ ΡΠΈΠΏΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈ Π΄Π°Π½Π½ΡΠ΅, Π½ΠΎ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ.Π C ++ ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° class . ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ class ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΠΈΠΏ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΊΠ»Π°ΡΡΠΎΠΌ.
Π C ++ ΠΊΠ»Π°ΡΡΡ ΠΈ ΡΡΡΡΠΊΡΡΡΡ ΠΏΠΎ ΡΡΡΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΠΈ ΠΊΠ»Π°ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Ρ:
struct DateStruct { int year {}; int ΠΌΠ΅ΡΡΡ {}; int Π΄Π΅Π½Ρ {}; }; class DateClass { public: int m_year {}; int m_month {}; int m_day {}; }; |
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ - ΡΡΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ public: Π² ΠΊΠ»Π°ΡΡΠ΅.ΠΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠΎΠΊΠ΅.
ΠΠ°ΠΊ ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° Π½Π΅ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ½ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ»Π°ΡΡ.
ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠΎ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ, ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΡΠΎΡΡΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ C ++ - ΡΡΠΎ Π·Π°Π±ΡΡΡ ΠΎ ΡΠΎΡΠΊΠ΅ Ρ Π·Π°ΠΏΡΡΠΎΠΉ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠΎ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π° . Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Visual Studio 2010, ΡΠΊΠ°ΠΆΡΡ Π²Π°ΠΌ, ΡΡΠΎ Π²Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π·Π°Π±ΡΠ»ΠΈ ΡΠΎΡΠΊΡ Ρ Π·Π°ΠΏΡΡΠΎΠΉ, Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΠ΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π΄Π΅Π»Π°ΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² (ΠΈ ΡΡΡΡΠΊΡΡΡ) ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° ΠΏΠ»Π°Π½ - ΠΎΠ½ΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΎΠ½ΠΈ Π½Π΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ. Π§ΡΠΎΠ±Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΊΠ»Π°ΡΡΠ°:
DateClass ΡΠ΅Π³ΠΎΠ΄Π½Ρ {2020, 10, 14}; // ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠ° DateClass |
Π€ΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ
ΠΠΎΠΌΠΈΠΌΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠ»Π°ΡΡΡ (ΠΈ ΡΡΡΡΠΊΡΡΡΡ) ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ! Π€ΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ°, Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ-ΡΠ»Π΅Π½Π°ΠΌΠΈ (ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ).Π€ΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π²Π½ΡΡΡΠΈ ΠΈΠ»ΠΈ Π²Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ°. ΠΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΈΡ ΡΠ΅ΠΉΡΠ°Ρ Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ° (Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΡΡ), Π° ΠΏΠΎΠ·ΠΆΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΈΡ Π²Π½Π΅ ΠΊΠ»Π°ΡΡΠ°.
ΠΠΎΡ Π½Π°Ρ ΠΊΠ»Π°ΡΡ Date Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ-ΡΠ»Π΅Π½ΠΎΠΌ Π΄Π»Ρ ΠΏΠ΅ΡΠ°ΡΠΈ Π΄Π°ΡΡ:
class DateClass { public: int m_year {}; int m_month {}; int m_day {}; void print () // ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ-ΡΠ»Π΅Π½ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ print () { std :: cout << m_year << '/' << m_month << '/' << m_day; } }; |
ΠΠ°ΠΊ ΠΈ ΡΠ»Π΅Π½Ρ ΡΡΡΡΠΊΡΡΡΡ, Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅Π½Π°ΠΌ (ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌ) ΠΊΠ»Π°ΡΡΠ° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π²ΡΠ±ΠΎΡΠ° ΡΠ»Π΅Π½Π° (.):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 14 18 19 20 21 22 23 24 | #include class DateClass { public: int m_year {}; int m_month {}; int m_day {}; void print () { std :: cout << m_year << '/' << m_month << '/' << m_day; } }; int main () { DateClass ΡΠ΅Π³ΠΎΠ΄Π½Ρ {2020, 10, 14}; ΡΠ΅Π³ΠΎΠ΄Π½Ρ.m_day = 16; // ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠ±ΠΎΡΠ° ΡΠ»Π΅Π½Π°, ΡΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ»Π΅Π½Π° ΠΊΠ»Π°ΡΡΠ° today.print (); // ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠ±ΠΎΡΠ° ΡΠ»Π΅Π½Π° Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Π° ΠΊΠ»Π°ΡΡΠ° return 0; } |
ΠΡΠΎ ΠΎΡΠΏΠ΅ΡΠ°ΡΠΊΠΈ:
16.10.2020
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΡ ΠΎΠΆΠ° Π½Π° Π²Π΅ΡΡΠΈΡ ΡΡΡΡΠΊΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ Π²ΡΡΠ΅.
ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ»ΠΈΡΠΈΠΉ. Π Π²Π΅ΡΡΠΈΠΈ print () DateStruct ΠΈΠ· ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ°ΠΌΡ ΡΡΡΡΠΊΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ print () Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°.Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ print () Π½Π΅ ΡΠ·Π½Π°Π΅Ρ, ΠΊΠ°ΠΊΠΎΠΉ DateStruct ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠ°ΡΠ΅ΠΌ Π½Π°ΠΌ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π€ΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½Π°ΡΠ΅: Π²ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΉ-ΡΠ»Π΅Π½ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ°. ΠΠΎΠ³Π΄Π° ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ today.print (), ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ-ΡΠ»Π΅Π½ print (), ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ today.
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ½ΠΎΠ²Π° ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Π° print:
void print () // ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ-ΡΠ»Π΅Π½ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ print () { std :: cout << m_year << '/' << m_month << '/' << m_day; } |
Π§ΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ m_year, m_month ΠΈ m_day? ΠΠ½ΠΈ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ (ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΌ).
ΠΡΠ°ΠΊ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ Β«today.print ()Β», ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅Ρ m_day
ΠΊΠ°ΠΊ today.m_day
, m_month
ΠΊΠ°ΠΊ today.m_month
ΠΈ m_year
ΠΊΠ°ΠΊ today.m_year
. ΠΡΠ»ΠΈ Π±Ρ ΠΌΡ Π²ΡΠ·Π²Π°Π»ΠΈ Β«Π·Π°Π²ΡΡΠ°.print ()Β», m_day
Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° Π·Π°Π²ΡΡΠ°.m_day
.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²Ρ Π½Π΅ΡΠ²Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ. ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ Π΅Π³ΠΎ ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ Π½Π΅ΡΠ²Π½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ .
ΠΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ΡΠ²Π½Π°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠΎΠΊΠ΅ ΡΡΠΎΠΉ Π³Π»Π°Π²Ρ.
ΠΠ»ΡΡΠ΅Π²ΡΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, Π½Π΅ ΡΠ²Π»ΡΡΡΠΈΠΌΠΈΡΡ ΡΠ»Π΅Π½Π°ΠΌΠΈ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ. Π‘ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ-ΡΠ»Π΅Π½Π°ΠΌΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ, ΡΡΠΎ Ρ Π½Π°Ρ Π²ΡΠ΅Π³Π΄Π° Π΅ΡΡΡ Π½Π΅ΡΠ²Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ°, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ!
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅ΡΠΈΠΊΡΠ° Β«m_Β» Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ -ΡΠ»Π΅Π½ΠΎΠ² ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅-ΡΠ»Π΅Π½Ρ ΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ-ΡΠ»Π΅Π½ΠΎΠ². ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ.ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ Β«m_Β», ΠΌΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ°. ΠΠΎ-Π²ΡΠΎΡΡΡ , Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅-ΡΠ»Π΅Π½Ρ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ°. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ Β«m_Β», ΠΌΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΊΠ°ΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ°, Π° Π½Π΅ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½Π° ΠΊΠ»Π°ΡΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡΠΊΠ²Ρ.
ΠΠ°Π·ΠΎΠ²ΠΈΡΠ΅ ΠΊΠ»Π°ΡΡΡ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡΠΊΠ²Ρ.
ΠΠΎΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠ»Π°ΡΡΠ°:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 14 18 19 20 21 22 23 24 25 26 27 28 29 31 9000 | #include #include class Employee { public: std :: string m_name {}; int m_id {}; Π΄Π²ΠΎΠΉΠ½Π°Ρ ΠΌ_Π·Π°ΡΠ°Π±ΠΎΡΠΊΠ° {}; // ΠΡΠ²ΠΎΠ΄ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°Ρ Π½Π° ΡΠΊΡΠ°Π½ void print () { std :: cout << "ΠΠΌΡ:" << m_name << "Id:" << m_id << "ΠΠ°ΡΠ°Π±ΠΎΡΠ½Π°Ρ ΠΏΠ»Π°ΡΠ°: $" << m_wage << '\ n'; } }; int main () { // ΠΠ±ΡΡΠ²ΠΈΡΡ Π΄Π²ΡΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² Π‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊ alex {"Alex", 1, 25.00}; Π‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊ ΠΠΆΠΎ {"ΠΠΆΠΎ", 2, 22.25}; // Π Π°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ΅ alex.print (); joe.print (); Π²ΠΎΠ·Π²ΡΠ°Ρ 0; } |
ΠΡΠΎ Π΄Π°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠΌΡ: ΠΠ»Π΅ΠΊΡ Id: 1 ΠΠ°ΡΠ°Π±ΠΎΡΠ½Π°Ρ ΠΏΠ»Π°ΡΠ°: 25 Π΄ΠΎΠ»Π»Π°ΡΠΎΠ² ΠΠΌΡ: ΠΠΆΠΎ ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ: 2 ΠΠ°ΡΠ°Π±ΠΎΡΠ½Π°Ρ ΠΏΠ»Π°ΡΠ°: 22,25 Π΄ΠΎΠ»Π»Π°ΡΠ°
Π‘ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, Π½Π΅ ΡΠ²Π»ΡΡΡΠΈΠΌΠΈΡΡ ΡΠ»Π΅Π½Π°ΠΌΠΈ, ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Β«Π½ΠΈΠΆΠ΅Β» (Π±Π΅Π· ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ):
void x () { // ΠΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ·Π²Π°ΡΡ y () ΠΎΡΡΡΠ΄Π°, Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠΆΠ΅ Π½Π΅ ΡΠ²ΠΈΠ΄Π΅Π» ΡΠΎΡΠ²Π°ΡΠ΄Π½ΠΎΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π»Ρ y () } void y () { } |
ΠΠ»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ-ΡΠ»Π΅Π½ΠΎΠ² ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ:
class foo { public: void x () {y (); } // Π·Π΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ y (), Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ y () Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΏΠΎΠ·ΠΆΠ΅ Π² ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ void y () {}; }; |
Π’ΠΈΠΏΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
ΠΠΎΠΌΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
-ΡΠ»Π΅Π½ΠΎΠ² ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ-ΡΠ»Π΅Π½ΠΎΠ², ΠΊΠ»Π°ΡΡ
es ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏΡ-ΡΠ»Π΅Π½Ρ ΠΈΠ»ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ (Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ ΡΠΈΠΏΠΎΠ²).Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π±ΡΡΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΏ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°, Π΅ΡΠ»ΠΈ Π½Π°ΠΌ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 14 18 19 20 21 22 23 24 25 26 27 28 29 30 34 | #include #include class Calculator { public: using number_t = int; // ΡΡΠΎ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° std :: vector number_t add (number_t a, number_t b) { Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ {a + b}; m_resultΠΡΡΠΎΡΠΈΡ.push_back (ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ); Π²Π΅ΡΠ½ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ; } }; int main () { ΠΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ-ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ {}; std :: cout << Calculator.add (3, 4) << '\ n'; // 7 std :: cout << Calculator.add (99, 24) << '\ n'; // 123 Π΄Π»Ρ (Calculator :: number_t result: calculator.m_resultHistory) { std :: cout << result << '\ n'; } Π²ΠΎΠ·Π²ΡΠ°Ρ 0; } |
ΠΡΡ ΠΎΠ΄
7 123 7 123
Π ΡΠ°ΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ Π΄Π»Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°.ΠΠ·Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ° Π½Π°ΠΌ Π½ΡΠΆΠ½Π° ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ»ΠΊΠ° number_t
. ΠΠ·Π²Π½Π΅ ΠΊΠ»Π°ΡΡΠ° ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΈΠΏΡ ΡΠ΅ΡΠ΅Π· Calculator :: number_t
.
ΠΠΎΠ³Π΄Π° ΠΌΡ ΡΠ΅ΡΠ°Π΅ΠΌ, ΡΡΠΎ int
Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ΅Ρ Π½Π°ΡΠΈΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ, ΠΈ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ double
, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ ΡΠΈΠΏΠ°, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π·Π°ΠΌΠ΅Π½ΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π²Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ int
Π½Π° double
.
Π§Π»Π΅Π½Ρ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠ° ΡΠΈΠΏΠ° ΡΠΏΡΠΎΡΠ°ΡΡ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈ ΡΠΎΠΊΡΠ°ΡΠ°ΡΡ Π½Π°Π±ΠΎΡ ΡΠ΅ΠΊΡΡΠ°.ΠΠ»Π°ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², ΠΎ ΠΊΠΎΡΠΎΡΡΡ
ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΠΎΠ·ΠΆΠ΅, ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠ° ΡΠΈΠΏΠ°. ΠΡ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ ΡΡΠΎ ΠΊΠ°ΠΊ std :: vector :: size_type
, Π³Π΄Π΅ size_type
- ΡΡΠΎ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ Π΄Π»Ρ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Π±Π΅Π· Π·Π½Π°ΠΊΠ°.
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ Π²ΠΏΠ΅ΡΠ΅Π΄. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΡΠΈΠΏ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Π½ΡΡΡΠΈ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ»Π°ΡΡΡ ΡΠ²Π»ΡΡΡΡΡ ΡΠΈΠΏΠ°ΠΌΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΡ Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² - ΡΡΠΎ Π½Π΅ΠΎΠ±ΡΡΠ½ΠΎ ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΡΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌΠΈ.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΎ ΡΡΡΡΠΊΡΡΡΠ°Ρ Π² C ++
Π C ΡΡΡΡΠΊΡΡΡΡ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π°Π½Π½ΡΠ΅ ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ-ΡΠ»Π΅Π½ΠΎΠ². Π C ++ ΠΏΠΎΡΠ»Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² (Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° class) ΠΡΡΡΠ½ Π‘ΡΡΠ°ΡΡΡΡΡΠΏ ΠΏΠΎΡΡΠ°ΡΠΈΠ» Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π° ΡΠ°Π·ΠΌΡΡΠ»Π΅Π½ΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π»ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΡΡΡΠΊΡΡΡΠ°ΠΌ (ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Ρ ΠΎΡ C) Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠΌΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ. ΠΠΎΡΠ°Π·ΠΌΡΡΠ»ΠΈΠ², ΠΎΠ½ ΡΠ΅ΡΠΈΠ», ΡΡΠΎ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π΅Π΄ΠΈΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ» Π΄Π»Ρ ΠΎΠ±ΠΎΠΈΡ . ΠΠΎΡΡΠΎΠΌΡ, Ρ ΠΎΡΡ ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° class, ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ struct.
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ (Π²ΠΊΠ»ΡΡΠ°Ρ ΠΌΠ΅Π½Ρ) ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ ΡΡΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΎΠΏΠ°ΡΠ½ΡΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ, ΡΡΠΎ ΠΊΠ»Π°ΡΡ ΠΎΡΠΈΡΡΠΈΡΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π±Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΡ, ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ Π΅Π΅ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ), Π½ΠΎ Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡΡ, ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠ° Π±ΡΠ΄Π΅Ρ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ struct Π΄Π»Ρ ΡΡΡΡΠΊΡΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π°Π½Π½ΡΠ΅, ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ class Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΅Π±ΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ struct Π΄Π»Ρ ΡΡΡΡΠΊΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π°Π½Π½ΡΡ . ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ class Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΡΠ΅, ΡΠ°ΠΊ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΡ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΊΠ»Π°ΡΡΡ, Π½Π΅ Π·Π½Π°Ρ ΠΎΠ± ΡΡΠΎΠΌ
ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° C ++ ΠΏΠΎΠ»Π½Π° ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°. std :: string, std :: vector ΠΈ std :: array - ΡΡΠΎ Π²ΡΠ΅ ΡΠΈΠΏΡ ΠΊΠ»Π°ΡΡΠΎΠ²! ΠΡΠ°ΠΊ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΠΈΡ ΡΠΈΠΏΠΎΠ², Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ»Π°ΡΡΠ°. Π ΠΊΠΎΠ³Π΄Π° Π²Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π²Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ-ΡΠ»Π΅Π½.
#include #include #include #include int main () { std :: string s {"ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅, ΠΠΈΡ!" }; // ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° std :: array std :: vector std :: cout << "length:" << s.length () << '\ n'; // Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Π° return 0; } |
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ class ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠΈΠΏ Π² C ++, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅-ΡΠ»Π΅Π½Ρ, ΡΠ°ΠΊ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ. ΠΠ»Π°ΡΡΡ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΎΡΠ½ΠΎΠ²Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈ ΠΌΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅ΠΌ ΠΎΡΡΠ°Π²ΡΡΡΡΡ ΡΠ°ΡΡΡ ΡΡΠΎΠΉ Π³Π»Π°Π²Ρ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π³Π»Π°Π²Ρ, ΠΈΡΡΠ»Π΅Π΄ΡΡ Π²ΡΠ΅, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ!
ΠΡΠ΅ΠΌΡ Π²ΠΈΠΊΡΠΎΡΠΈΠ½Ρ
Π°) Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΊΠ»Π°ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ IntPair, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π΄Π²Π° ΡΠ΅Π»ΡΡ ΡΠΈΡΠ»Π°.ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ Π΄Π²Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅-ΡΠ»Π΅Π½Ρ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π». ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ: ΠΎΠ΄Π½Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«setΒ», ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅Π»ΡΠΌ ΡΠΈΡΠ»Π°ΠΌ, ΠΈ ΠΎΠ΄Π½Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«printΒ», ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
ΠΠΎΠ»ΠΆΠ½Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ:
int main () { IntPair p1; ΠΏ1.Π½Π°Π±ΠΎΡ (1, 1); // ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ p1 ΡΠ°Π²Π½ΡΠΌΠΈ (1, 1) IntPair p2 {2, 2}; // ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ p2 Π² (2, 2) p1.Π Π°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ(); p2.print (); Π²ΠΎΠ·Π²ΡΠ°Ρ 0; } |
ΠΈ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅ΠΌ Π²ΡΠ²ΠΎΠ΄:
ΠΠ°ΡΠ° (1, 1) ΠΠ°ΡΠ° (2, 2)
ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
1 2 3 4 5 6 7 8 9 10 11 12 13 14 14 18 19 20 21 22 23 24 25 26 27 28 29 31 9000 | #include class IntPair { public: int m_first {}; int m_second {}; void set (int first, int second) { m_first = first; ΠΌ_ΡΠ΅ΠΊΡΠ½Π΄Π° = ΡΠ΅ΠΊΡΠ½Π΄Π°; } void print () { std :: cout << "Pair (" << m_first << "," << m_second << ") \ n"; } }; int main () { IntPair p1; ΠΏ1.Π½Π°Π±ΠΎΡ (1, 1); IntPair p2 {2, 2}; p1.print (); p2.print (); Π²ΠΎΠ·Π²ΡΠ°Ρ 0; } |
(Ρ / Ρ ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΠΠ°ΡΠΊΠ° 2107 Π·Π° ΠΈΠ΄Π΅Ρ Π²ΠΈΠΊΡΠΎΡΠΈΠ½Ρ)
Π±) ΠΠΎΡΠ΅ΠΌΡ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ IntPair Π²ΠΌΠ΅ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΡ?
ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
ΠΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΡΠ΅-ΡΠ»Π΅Π½Ρ, ΡΠ°ΠΊ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡ. ΠΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Ρ ΠΊΠΎΡΠΎΡΡΡ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Ρ.
ΠΊΠ»Π°ΡΡΠΎΠ² (ΠΠΠ) | ΠΠ»Π΅ΡΡΡΡΠ°Ρ Π²ΠΈΠΊΠΈ ΠΏΠΎ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅ ΠΈ Π½Π°ΡΠΊΠ΅
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ°
Π Python ΠΊΠ»Π°ΡΡΡ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ class
, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ°. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ class
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ def
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠ»Π°ΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Brilliant.
|
ΠΠ΅ΡΠΎΠ΄ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°
ΠΠΎΡΠ»Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ»Π°ΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° .Π Python ΡΡΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ __init __ ()
. Π€ΡΠ½ΠΊΡΠΈΡ __init__
ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ self
Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, Π° Π·Π°ΡΠ΅ΠΌ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°. Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠ΅ΠΌ Π±Π»Π΅ΡΡΡΡΠΈΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Ρ
ΠΎΡΠ΅Ρ Π·Π½Π°ΡΡ ΠΈΠΌΡ, Π²ΠΎΠ·ΡΠ°ΡΡ ΠΈ ΡΠ΅ΠΉΡΠΈΠ½Π³ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠΌΡ __init __ ()
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Β«ΠΌΠ΅ΡΠΎΠ΄Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°Β» ΠΊΠ»Π°ΡΡΠ°. Π₯ΠΎΡΡ ΠΊΠ»Π°ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ»Π°Π½ΠΎΠΌ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ
, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ
, ΡΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ ΡΡΠΎ-ΡΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ
ΡΠ°Π½ΠΈΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌ.
ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΊΠΎΠ΄ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΡΠΎ ΡΡΡΠΎΠΊΠ° user = brilliantUser ('Mursalin', 17, 4). ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ»Π°ΡΡΠ° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π²ΡΠ΅Π³Π΄Π° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ __init__
.
ΠΠΎΠΊΠ° Ρ Π½Π°Ρ
|
ΠΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ° brilliantUsers.ΠΠ΅ΡΠΎΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°ΡΡΡ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΡΠ΅Π»ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° __init__
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌ ΠΈ ΡΠ²ΡΠ·Π°ΡΡ ΠΈΡ
Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ°, Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ __init__
ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: self.variableName = variableName
.
ΠΡΠ΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ, ΡΠ²Π»ΡΡΡΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² . ΠΡΡΠΈΠ±ΡΡΡ - ΡΡΠΎ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.ΠΠ΅ΡΠΎΠ΄ __init __ ()
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Π’Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΎΠ΄Ρ - ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΠΊΠ»Π°ΡΡΠ΅, Π°ΡΡΠΈΠ±ΡΡΡ - ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΠΊΠ»Π°ΡΡΠ΅.
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠΎ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ-ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ. ΠΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«ΡΒ».
Π Python ΠΏΠ΅ΡΠ²ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ self
. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ self
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
-ΡΠ»Π΅Π½ΠΎΠ². ΠΠ½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ° ΠΌΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π»ΡΠ±ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ°, ΠΊΠ°ΠΊ self.ΠΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ
. Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΌ Π½Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ color
Π΄Π»Ρ car_1
ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ color
Π΄Π»Ρ car_2
, ΠΈ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°Π·Π½Π°ΡΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ ΡΠ²ΠΎΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ°
, Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ self
.
Π’Π΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ-ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Brilliant Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
|
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅-ΡΠ»Π΅Π½Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠΌ.ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅-ΡΠ»Π΅Π½Ρ Π±ΡΠ΄ΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ self
, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ-ΡΠ»Π΅Π½Π°ΠΌΠΈ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅.
Π ΡΠ΅Π»ΠΎΠΌ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π±Π»Π΅ΡΡΡΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
|
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°
ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ - ΡΡΠΎ ΠΎΡΠΎΠ±ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΈΠ· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΊΠ»Π°ΡΡΠ°, Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΠΊΠ»Π°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ Π»ΡΠ±ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄ __init__
- Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ __init__
ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΈΠΌΡ
, Π²ΠΎΠ·ΡΠ°ΡΡ
ΠΈ ΡΠ΅ΠΉΡΠΈΠ½Π³
.
|
ΠΠ΄Π΅ΡΡ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° brilliantUser
. ΠΠ»ΠΈ, Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° brilliantUser
.
13 ΠΠ»Π°ΡΡΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ
13 ΠΠ»Π°ΡΡΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ
ΠΡΠ° Π³Π»Π°Π²Π° ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΡΡΠ°ΡΡΠ΅ [Flatt06].
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠΊΠ»Π°ΡΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅,
ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅:
(class superclass-expr decl-or-expr ...)
superclass-expr ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ
ΠΊΠ»Π°ΡΡ. ΠΠ°ΠΆΠ΄ΡΠΉ decl-or-expr ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ, ΠΎΡΠ½ΠΎΡΡΡΠΈΠΌΡΡ ΠΊ
ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΏΠΎΠ»Ρ ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΈΠ»ΠΈ ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ°.Π Π΄ΡΡΠ³ΠΎΠΌ
ΡΠ»ΠΎΠ², Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠ»Π°ΡΡ ΠΈΠΌΠ΅Π΅Ρ
Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΡΠ΅ΡΠ΅Π΄ΡΡΡΠΈΠ΅ΡΡ Ρ ΠΏΠΎΠ»Π΅ΠΌ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ
Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠΈ.
ΠΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½Π° ΠΊΠ»Π°ΡΡΠΎΠ² Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ Π½Π°%. ΠΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΊΠ»Π°ΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡ%. Π‘Π»Π΅Π΄ΡΡΡΠ΅Π΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠ»Π°ΡΡ Ρ
ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ get-size, grow ΠΈ eat:
(ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ°% (ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ); Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ (ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°); ΠΏΠΎΠ»Π΅ (ΡΡΠΏΠ΅Ρ-Π½ΠΎΠ²ΡΠΉ); ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ° (define / public (get-size) current-size) (define public (grow amt)
(set! current-size (+ amt current-size))) (define / public (eat other-fish) (grow (send other-fish get-size))))
ΠΡΠ³ΡΠΌΠ΅Π½Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ ΡΠ΅ΡΠ΅Π· ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ
Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ° ΡΠ΅ΡΠ΅Π· Π½ΠΎΠ²ΡΡ ΡΠΎΡΠΌΡ:
(Π½ΠΎΠ²ΡΠΉ (ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ°% (ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ)....) [ΡΠ°Π·ΠΌΠ΅Ρ 10])
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Π·Π²Π°ΡΡ ΠΊΠ»Π°ΡΡ ΠΈ Π΅Π³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ:
Π ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ fish% ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ - ΡΡΠΎ
ΡΠ°ΡΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°
Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ°Π·ΠΌΠ΅Ρ
Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ
ΡΡΡΠ»Π°ΡΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄Π°. ΠΠΎΠ»Π΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π²
Π½Π°ΠΏΡΠΎΡΠΈΠ², Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ.
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (ΡΡΠΏΠ΅Ρ-Π½ΠΎΠ²ΠΎΠ΅) Π² fish% Π²ΡΠ·ΡΠ²Π°Π΅Ρ
ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ°.Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡ%, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ
Π½Π΅Ρ ΡΠ°Π±ΠΎΡΡ; Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ²ΡΠΉ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΊΠ»Π°ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½
Π²ΡΠ΅Π³Π΄Π° Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ°.
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ
(ΡΡΠΏΠ΅ΡΠ½ΠΎΠ²ΡΠ΅) ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ Π² Π»ΡΠ±ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅,
ΠΈ ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π΄ΠΎΠ²Π°ΡΡ Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². ΠΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ
ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΊΠ»Π°ΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΎΡΠ΅Π½ΠΊΠΈ
Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π΄Π»Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Ρ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ
Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ°, Π·Π°ΡΠ΅ΠΌ
ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ²ΠΎΠ³ΠΎ
Π²ΡΠ·ΠΎΠ².Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ
ΠΈΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ. ΠΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ
ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ°.
13.1 ΠΠ΅ΡΠΎΠ΄Ρ
ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΡΡΠ΅Ρ
ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ / ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ
ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ Π²
fish% ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄. Π Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎ ΠΆΠ΅
ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ Racket, Π½ΠΎ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΊΠ°ΠΊ
Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ. ΠΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° grow Π΄Π»Ρ
ΠΠ»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° fish% ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΡΠΌΠ° ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ:
> (ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ charlie grow 6) > (ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ charlie get-size) 16
Within fish%, ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΌΠΎΠ³ΡΡ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ,
ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΈΠΌΠ΅Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π²Ρ
ΠΎΠ΄ΡΡ Π² ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ΅ΡΡΡ
ΠΌΠ΅ΡΠΎΠ΄ Π² fish% Π½Π°ΠΏΡΡΠΌΡΡ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠΎΡΡ
ΠΌΠ΅ΡΠΎΠ΄. ΠΠ½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ° ΠΏΠΎΠΏΡΡΠΊΠ° ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Π°
ΠΊΡΠΎΠΌΠ΅ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠ΅.
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠ»ΡΡΠ°ΡΡ
ΠΊΠ»Π°ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠΎΠΌ.
Π½ΠΎ Π½Π΅ ΠΎΡΠΌΠ΅Π½Π΅Π½ΠΎ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ send
Ρ ΡΡΠΈΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΌΠ΅ΡΠΎΠ΄Ρ:
(ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π³ΠΎΠ»ΠΎΠ΄-ΡΡΠ±Π°% (ΠΊΠ»Π°ΡΡ ΡΡΠ±Π°% (ΡΡΠΏΠ΅Ρ-Π½ΠΎΠ²ΡΠΉ) (ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ / ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ (Π΅ΡΡΡ-Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠ±Ρ2 ΡΡΠ±Π°3) ( ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΡ ΡΡΠ΅ΡΡΡ ΡΡΠ±Ρ2) (ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΡ ΡΡΠ΅ΡΡΡ ΡΡΠ±Ρ3))))
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ, ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅,
ΠΊΠΎΡΠΎΡΡΠΉ Π²Π²ΠΎΠ΄ΠΈΡ ΠΈΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Π° Π² ΠΎΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΄Π»Ρ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°:
(ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π³ΠΎΠ»ΠΎΠ΄Π½ΡΡ ΡΡΠ±Ρ% (ΠΊΠ»Π°ΡΡ ΡΡΠ±Π°% (ΡΡΠΏΠ΅Ρ-Π½ΠΎΠ²ΡΠΉ) (Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π΅ΡΡΡ) (ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ / public (Π΅ΡΡΡ-Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠ±Ρ2 ΡΡΠ±Ρ3) (Π΅ΡΡΡ ΡΡΠ±Ρ2) (Π΅ΡΡΡ ΡΡΠ±Ρ3))))
Π‘ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ΅ΠΉ ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ, Π΅ΡΠ»ΠΈ Ρ ΡΡΠ±Ρ% Π½Π΅ Π±ΡΠ»ΠΎ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠΈ ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ
ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ Π΅ΡΡ, ΠΎΡΠΈΠ±ΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ Π²
ΠΎΡΠ΅Π½ΠΊΠ° ΡΠΎΡΠΌΡ ΠΊΠ»Π°ΡΡΠ° Π³ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ±Ρ%.Π
Π½Π°ΠΏΡΠΎΡΠΈΠ², Ρ (ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ ....) ΠΎΡΠΈΠ±ΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ
ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ
ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½ ΠΌΠ΅ΡΠΎΠ΄ Π΅ΡΡΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΈ
ΡΠΎΡΠΌΠ° ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ. ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π΅Π΅.
ΠΡΠ΅ ΠΎΠ΄Π½ΠΈΠΌ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠΌ send ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ ΠΌΠ΅Π½Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½, ΡΠ΅ΠΌ
Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ. ΠΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π· send Π²ΠΊΠ»ΡΡΠ°Π΅Ρ
ΠΏΠΎΠΈΡΠΊ ΠΌΠ΅ΡΠΎΠ΄Π° Π² ΠΊΠ»Π°ΡΡΠ΅ ΡΠ΅Π»Π΅Π²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ
send ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² Java. Π
Π½Π°ΠΏΡΠΎΡΠΈΠ², Π²ΡΠ·ΠΎΠ²Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅
Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ»Π°ΡΡ
ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ.
ΠΠ»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠΉ Π²ΡΠ·ΠΎΠ²Π°ΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π°
Π²ΡΠ·ΡΠ²Π°Ρ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ·Π²Π½Π΅ ΠΊΠ»Π°ΡΡΠ° ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
ΠΎΠ±ΡΠ°Ρ ΡΠΎΡΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ Π·Π°Π²ΠΈΡΡΡΠΈΠ΅ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°
ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ send-generic:
(ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ get-fish (ΠΎΠ±ΡΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠ±Ρ%))
> (send-generic charlie get-fish-size) 16
> (send-generic (new hungry-fish% [size 32]) get-fish-size) 32
> (send-generic (Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ%) get-fish-size) generic: get-size: target Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΠΎΠ±ΡΠ΅Π³ΠΎ
ΠΊΠ»Π°ΡΡΠ°
target: (ΠΎΠ±ΡΠ΅ΠΊΡ)
ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ°: fish%
ΠΡΡΠ±ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΡΠΎΡΠΌΠ° ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡ ΠΊΠ»Π°ΡΡ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ
ΠΈΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Π° Π² ΠΌΠ΅ΡΡΠΎ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠ°.ΠΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ
Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΡΠΎ Π΅Π³ΠΎ
ΠΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΊΠ»Π°ΡΡΠ΅,
ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄,
ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· ΠΎΡΠΏΡΠ°Π²ΠΊΡ, ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΠ±ΡΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
> (ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ daisy eat charlie) > (send daisy )
32
ΠΠ΅ΡΠΎΠ΄ Π²ΡΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ Π²% ΡΠ°Π·Π±ΠΎΡΡΠΈΠ²ΠΎΠΉ ΡΡΠ±Ρ Π·Π°ΡΠ²Π»Π΅Π½ Ρ
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ / ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ / ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ
Grow ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅.ΠΡΠ»ΠΈ Π²ΡΡΠ°ΡΡΠ΅Ρ
Π±ΡΠ» ΠΎΠ±ΡΡΠ²Π»Π΅Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ define / public, ΠΎΡΠΈΠ±ΠΊΠ° Π±ΡΠ΄Π΅Ρ
Π±ΡΠ» ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ ΠΏΡΠΈ ΠΎΡΠ΅Π½ΠΊΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ
ΡΡΠ±Ρ% ΡΠΆΠ΅ Π·Π°ΠΏΠ°ΡΡ ΡΠ°ΡΡΡΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ / ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ
ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΏΠ΅ΡΠ²ΡΠ·ΠΎΠ²Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Grow Π²% ΡΠ°Π·Π±ΠΎΡΡΠΈΠ²ΡΡ
ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
super Π΄Π»Ρ Π΄Π΅Π»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ°.
13.2 ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ
Π’Π°ΠΊ ΠΊΠ°ΠΊ picky-fish% Π½Π΅ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π»ΡΠ±ΡΠ΅
Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π² (new picky-fish%....) Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ
ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π½Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ°, ΡΠΎ Π΅ΡΡΡ Π½Π° fish%.
ΠΠΎΠ΄ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ
ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡ Π² ΡΡΠΏΠ΅Ρ-Π½ΠΎΠ²ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅, ΠΈ ΡΠ°ΠΊΠ°Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π½Π°Π΄ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΌΠΈ Π² new. ΠΠ»Ρ
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠ»Π°ΡΡ size-10-fish% Π²ΡΠ΅Π³Π΄Π° Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ
ΡΡΠ±Π° ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 10:
Π ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°-10-fish%, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°
Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Ρ Π½ΠΎΠ²ΡΠΌ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ
ΠΎΡΠΈΠ±ΠΊΠ° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ; ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ Π² ΡΡΠΏΠ΅Ρ-Π½ΠΎΠ²ΠΎΠΌ
ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ, ΡΠ°Π·ΠΌΠ΅Ρ, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ Π² Π½ΠΎΠ²ΡΠΉ, Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ
Π½Π΅Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ΅Π»ΠΈ.
ΠΡΠ³ΡΠΌΠ΅Π½Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ, Π΅ΡΠ»ΠΈ ΡΠΎΡΠΌΠ° ΠΊΠ»Π°ΡΡΠ°
ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ default-10-fish%
ΠΊΠ»Π°ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°, Π½ΠΎ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°Π²Π½ΠΎ
10, Π΅ΡΠ»ΠΈ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ:
(ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ default-10-fish% (class fish% (init [size 10]) (super-new [size) ΡΠ°Π·ΠΌΠ΅Ρ])))
> (Π½ΠΎΠ²ΡΠΉ default-10-fish%) (object: default-10-fish%...)
> (Π½ΠΎΠ²ΡΠΉ default-10-fish% [size 20]) (object: default-10-fish% ...)
In Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠΏΠ΅Ρ-Π½ΠΎΠ²ΡΠΉ Π²ΡΠ·ΠΎΠ² ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅Ρ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π΄Π»Ρ
ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡ.
13.3 ΠΠ½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΠΈ Π²Π½Π΅ΡΠ½Π΅Π΅ ΠΈΠΌΠ΅Π½Π°
ΠΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π² default-10-fish% ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡ
Π΄Π²ΠΎΠΉΠ½Π°Ρ ΠΆΠΈΠ·Π½Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΡΠ»Π΅Π½ΠΎΠ² ΠΊΠ»Π°ΡΡΠ°. ΠΠΎΠ³Π΄Π° ΡΠ°Π·ΠΌΠ΅Ρ
ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΏΠ°ΡΡ Π² Π½ΠΎΠ²ΡΡ
ΠΈΠ»ΠΈ
ΡΡΠΏΠ΅Ρ-Π½ΠΎΠ²ΡΠΉ, ΡΠ°Π·ΠΌΠ΅Ρ - Π²Π½Π΅ΡΠ½Π΅Π΅ ΠΈΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅
ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² ΠΊΠ»Π°ΡΡΠ΅.ΠΠΎΠ³Π΄Π°
ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²Π½ΡΡΡΠΈ
default-10-fish%, ΡΠ°Π·ΠΌΠ΅Ρ - Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΠΈΠΌΡ
ΡΡΠΎ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ Π²ΡΠ·ΠΎΠ² ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ
ΠΠ΅ΡΠΎΠ΄ eat ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ eat, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ
send of eat ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ eat ΠΊΠ°ΠΊ Π²Π½Π΅ΡΠ½Π΅Π΅ ΠΈΠΌΡ.
ΠΠΎΠ»Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠΎΡΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ
ΡΠΊΠ°Π·Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° Π΄Π»Ρ ΡΠ»Π΅Π½Π° ΠΊΠ»Π°ΡΡΠ°. Π‘
Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° ΡΠ²Π»ΡΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ, ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π·Π°ΡΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ
ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ. Π’Π°ΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π΅ΡΠ°ΡΡΠΎ, Π½ΠΎ Π΅ΡΡΡ ΠΎΠ±Ρ
ΠΎΠ΄Π½ΡΠ΅ ΠΏΡΡΠΈ.
ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌ.
13.4 ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ»ΠΈ ΠΊΠ»Π°ΡΡ
ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ (ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΠΌΡΠΌ) ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ.
Π’Π°ΠΊΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π°ΠΆΠ΅ Π±Π΅Π· ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠΈΠΏΠΎΠ².
(ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Ρ Java Π΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ).
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π² Racket ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
ΡΠΎΡΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ ΠΈΠΌΠ΅Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ
ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΡΠΈΡΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ
ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ
ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ.
(interface (superinterface-expr ...) id ...)
Π§ΡΠΎΠ±Ρ ΠΎΠ±ΡΡΠ²ΠΈΡΡ, ΡΡΠΎ ΠΊΠ»Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ,
ΠΠΌΠ΅ΡΡΠΎ class Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡΠΌΡ class *:
(class * superclass-expr (interface-expr ...) decl-or-expr ...)
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΈΠ½ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ
ΠΊΠ»Π°ΡΡΠΎΠ² ΡΡΠ± Π±ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΌΠΈ ΠΎΡ
fish%, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ fish-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ
fish%, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΡΠ²ΠΈΡΡ, ΡΡΠΎ ΠΎΠ½ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ
fish-interface:
ΠΡΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ fish% Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ
ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ, ΡΠΎΡΡΠ° ΠΈ ΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ, Π·Π°ΡΠ΅ΠΌ
ΠΎΡΠΈΠ±ΠΊΠ° ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΎΡΠ΅Π½ΠΊΠ΅ ΡΠΎΡΠΌΡ class *,
ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° fish-interface ΡΡΠ΅Π±ΡΠ΅ΡΡΡ
ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ.
ΠΡΠΎ Π°? ΠΏΡΠ΅Π΄ΠΈΠΊΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°
ΠΈ Π»ΠΈΠ±ΠΎ ΠΊΠ»Π°ΡΡ, Π»ΠΈΠ±ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΡΠΎΡΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. ΠΠΎΠ³Π΄Π° Π΄Π°Π΅ΡΡΡ
ΠΊΠ»Π°ΡΡ, ΡΡΠΎ-Π°? ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ
ΠΊΠ»Π°ΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ. ΠΠΎΠ³Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ?
ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π»ΠΈ ΠΊΠ»Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. Π
ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ? ΠΏΡΠ΅Π΄ΠΈΠΊΠ°Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π΅ΡΡΡ Π»ΠΈ
Π΄Π°Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
13.5 Final, Augment ΠΈ Inner
ΠΠ°ΠΊ ΠΈ Π² Java, ΠΌΠ΅ΡΠΎΠ΄ Π² ΡΠΎΡΠΌΠ΅ ΠΊΠ»Π°ΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠ°ΠΊ
final, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ
ΠΌΠ΅ΡΠΎΠ΄.ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ public-final ΠΈΠ»ΠΈ
override-final, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ Π»ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π»Ρ
Π½ΠΎΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΎΠ±Π»Π°Π΄Π°ΡΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ.
ΠΠ΅ΠΆΠ΄Ρ ΠΊΡΠ°ΠΉΠ½ΠΎΡΡΡΠΌΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΠΎΡΠΌΠ΅Π½Ρ ΠΈ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ΠΈΡ
ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ, ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π±Π΅ΡΠ°-ΡΡΠΈΠ»Ρ
ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ [Goldberg04]. ΠΠ΅ΡΠΎΠ΄
ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ pubment ΠΏΠΎΡ
ΠΎΠΆ Π½Π° ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ, Π½ΠΎ ΠΌΠ΅ΡΠΎΠ΄
Π½Π΅Π»ΡΠ·Ρ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π² ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ°Ρ
; Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ. Π
ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ²Π½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ (Π΅ΡΠ»ΠΈ Π΅ΡΡΡ)
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ; ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ
ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ, Π° Π½Π΅ ΠΎΡΠΌΠ΅Π½ΡΡΡ.
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΆΠΈΠΌΠ°ΠΌΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ ΠΎΡΠΌΠ΅Π½Ρ Π²
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ΅ ΠΊΠ»Π°ΡΡΠ°. Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° augride
ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΌΠ΅ΡΠΎΠ΄Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°ΠΌΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π² ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ°Ρ
(Ρ
ΠΎΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ°
Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠΌΠ΅Π½Π΅Π½). Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄
ΠΈ Π΄Π΅Π»Π°Π΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΠΎΠΉ.
13.6 Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΈΠΌΠ΅Π½
ΠΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π΄ΠΎΡΡΡΠΏΠ° Java (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, protected)
ΠΈΠ³ΡΠ°ΡΡ ΡΠΎΠ»Ρ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ define-member-name, Π½ΠΎ
Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Java, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Racket Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ°
ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π° Π½Π΅ Π½Π° ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΠΎ ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΡ
ΠΈ ΠΠ½Π΅ΡΠ½ΠΈΡ
ΠΈΠΌΠ΅Π½Π°Ρ
, ΡΠ»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ° ΠΈΠΌΠ΅ΡΡ ΠΎΠ±Π°
Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π°. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π½Π° ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ
ΠΈΠΌΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ, ΠΈ ΡΡΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ. ΠΠ½Π΅ΡΠ½ΠΈΠΉ
ΠΈΠΌΠ΅Π½Π°, Π½Π°ΠΏΡΠΎΡΠΈΠ², ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠΌΠ΅ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π° ΡΠ»Π΅Π½
ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π΅ ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ Π²Π½Π΅ΡΠ½Π΅Π΅ ΠΈΠΌΡ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π½
ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ Π΄Π»Ρ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Π³Π΄Π΅
ΠΈΠΌΡ ΡΠ»Π΅Π½Π° ΠΏΡΠΈΠ²ΡΠ·Π°Π½ΠΎ ΠΊ ΠΊΠ»ΡΡΡ ΡΠ»Π΅Π½Π°; ΠΊΠ»Π°ΡΡ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅
ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠ»ΡΡΠΈ ΡΠ»Π΅Π½ΠΎΠ² Ρ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ, ΠΏΠΎΠ»ΡΠΌΠΈ ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΡΠΏΠΎΠΌΠ½ΠΈΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° Β«Π³ΠΎΠ»ΠΎΠ΄Π½Π°Ρ ΡΡΠ±Π°%Β»:
(ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅% Π³ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ±Ρ (ΠΊΠ»Π°ΡΡ ΡΡΠ±Ρ% .... (Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π΅ΡΡΡ) (ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ / ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎ (Π΅ΡΡΡ-Π±ΠΎΠ»ΡΡΠ΅) ΡΡΠ±Π°2 ΡΡΠ±Π°3) (Π΅ΡΡΡ ΡΡΠ±Ρ2) (Π΅ΡΡΡ ΡΡΠ±Ρ3))))
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΡΠ΅Π½ΠΊΠΈ, Π³ΠΎΠ»ΠΎΠ΄Π½ΡΠ΅ ΡΡΠ±Ρ% ΠΈ ΡΡΠ±Π°%
ΠΊΠ»Π°ΡΡΡ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ eat. ΠΠ° Π±Π΅Π³Ρ
Π²ΡΠ΅ΠΌΡ, ΠΏΡΠΈΠ·ΡΠ²Ρ ΠΏΠΎΠ΅ΡΡΡ Π²% Π³ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ±Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ
ΠΌΠ΅ΡΠΎΠ΄ eat Π² fish% ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄
ΠΊΠ»ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ΅ΡΡ.
ΠΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ, Π½ΠΎ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ Π²Π²Π΅ΡΡΠΈ ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
ΡΠΎΡΠΌΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ-ΡΠ»Π΅Π½Π°-ΠΈΠΌΠ΅Π½ΠΈ.
Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ (generate-member-key) Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅
member-key-expr, Π²Π½Π΅ΡΠ½Π΅Π΅ ΠΈΠΌΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π΄Π»Ρ
ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠ»ΡΡ ΡΠ»Π΅Π½Π° Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½
Π²Π½Π΅ ΡΠ°ΠΌΠΎΠΊ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅-ΡΠ»Π΅Π½-ΠΈΠΌΡ Π΄Π°Π΅Ρ
Π²Π½Π΅ΡΠ½Π΅Π΅ ΠΈΠΌΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π° Π·Π°ΠΊΡΡΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°, Π½ΠΎ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΠΎΠ΅ ΠΈΠ·
ΠΏΠ°ΠΊΠ΅ΡΡ ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ ΠΎΠ±Π»Π°ΡΡΡΠΌ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ Π² Racket.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ fish% ΠΈ pond% Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π³Π»ΡΠ±ΠΈΠ½Ρ, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ
Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ:
ΠΠ½Π΅ΡΠ½ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΈΡ
ΠΎΡ Π΄ΡΡΠ³ΠΈΡ
Racket
ΠΈΠΌΠ΅Π½Π°. ΠΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ Π½Π΅ΡΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° Π²
send, Π΄Π»Ρ ΠΈΠΌΠ΅Π½ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΈΠ»ΠΈ Π΄Π»Ρ
Π²Π½Π΅ΡΠ½Π΅Π΅ ΠΈΠΌΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΠ»Π΅Π½Π°. ΠΡΠΎΠ±Π°Ρ ΡΠΎΡΠΌΠ°
ΠΊΠ»ΡΡ-ΠΈΠΌΡ-ΡΠ»Π΅Π½ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ
Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ: (ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ-ΠΈΠΌΡ-ΡΠ»Π΅Π½Π°)
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ ΠΊΠ»ΡΡΠ° ΡΠ»Π΅Π½Π° ΠΊ id Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ°-ΡΠ»Π΅Π½Π° Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Ρ
ΡΠΎΡΠΌΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ-ΡΠ»Π΅Π½Π°-ΠΈΠΌΠ΅Π½ΠΈ. ΠΠ±ΡΡΠ½ΠΎ ΡΠΎΠ³Π΄Π°
(member-name-key id) ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ ΠΊΠ»ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° id
ΡΠ°ΠΊ ΡΡΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ-ΡΠ»Π΅Π½Π°-ΠΈΠΌΠ΅Π½ΠΈ
Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΌΠ΅. ΠΡΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π΄Π»Ρ
ΠΎΠ±ΠΎΠ±ΡΠ°ΡΡΠΈΠ΅ ΠΌΠΈΠΊΡΠΈΠ½Ρ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΡΡΡ Π΄Π°Π»Π΅Π΅.
13.7 Mixins
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ»Π°ΡΡ - ΡΡΠΎ ΡΠΎΡΠΌΠ° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π° Π½Π΅ Π²Π΅ΡΡ
Π½ΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ
ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ Π² Smalltalk ΠΈ Java, ΡΠΎΡΠΌΠ° ΠΊΠ»Π°ΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ
Π²Π»ΠΎΠΆΠ΅Π½ Π² Π»ΡΠ±ΡΡ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ Π»ΡΠΌΠ±Π΄Π°.Π Π΅Π·ΡΠ»ΡΡΠ°Ρ
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΌΠΈΠΊΡΠΈΠ½, ΡΠΎ Π΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½ΠΎ
ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡ% ΠΏΡΠΈΠ΄ΠΈΡΡΠΈΠ²ΠΎΠΉ ΡΡΠ±Ρ ΡΠ΅ΡΠ΅Π·
Π΅Π³ΠΎ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·Π±ΠΎΡΡΠΈΠ²ΠΎΠΉ ΡΠΌΠ΅ΡΠΈ:
ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅Π»ΠΊΠΈΡ
ΡΠ°Π·Π»ΠΈΡΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Π² ΡΡΠΈΠ»Π΅ Smalltalk ΠΈ Racket
ΠΊΠ»Π°ΡΡΡ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ². Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ,
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ / ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠΎ, ΡΡΠΎ
ΡΠ°Π·Π±ΠΎΡΡΠΈΠ²ΡΠΉ-mixin ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΊΠ»Π°ΡΡ Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Grow. ΠΡΠ»ΠΈ
ΡΠ°Π·Π±ΠΎΡΡΠΈΠ²ΡΠΉ ΠΌΠΈΠΊΡΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊ ΠΊΠ»Π°ΡΡΡ Π±Π΅Π· ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ
ΠΌΠ΅ΡΠΎΠ΄, ΠΎΡΠΈΠ±ΠΊΠ° Π²ΡΠ΄Π°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π±ΠΎΡΡΠΈΠ²ΡΠΉ ΠΌΠΈΠΊΡΠΈΠ½
ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Β«ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π°Β».
ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΌΠΈΠΊΡΠΈΠ½Π°:
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ² Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ
Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ
Π½ΠΎΠ²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΡΠΎΡΡΡ
Π½Π΅ Π²ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π²
ΠΈΠ΅ΡΠ°ΡΡ
ΠΈΡ Ρ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ -
ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΡΠ½Π°ΡΠ΅Π½ ΡΠ°Π·Π±ΠΎΡΡΠΈΠ²ΡΠΌ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠΌ ΠΈ
hungry-mixin, ΡΠΎΠ·Π΄Π°ΡΡΠΈΠΉ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ Π³ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΉ, Π½ΠΎ ΠΏΡΠΈΠ΄ΠΈΡΡΠΈΠ²ΠΎΠΉ ΡΡΠ±Ρ
ΠΏΡΠΎΡΡ:
(define-picky-hungry-fish% (hungry-mixin (ΡΠ°Π·Π±ΠΎΡΡΠΈΠ²ΡΠΉ-mixin fish%)))
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅ΡΠ°ΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ².ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π·Π±ΠΎΡΡΠΈΠ²ΡΠΉ ΠΌΠΈΠΊΡΠΈΠ½ ΠΈ
hungry-mixin ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΡ Π»ΡΠ±ΠΎΠΉ ΠΊΠ»Π°ΡΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠ΅ΠΉ Π΅Π΄ΠΎΠΉ
ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π²ΡΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠΉΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π² ΠΈΡ
ΡΡΠΏΠ΅Ρ-Π½ΠΎΠ²ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ:
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½ΠΈΡ
ΠΈΠΌΠ΅Π½ Π΄Π»Ρ ΡΠ»Π΅Π½ΠΎΠ² ΠΊΠ»Π°ΡΡΠ° (Π²ΠΌΠ΅ΡΡΠΎ
ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Ρ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ) Π΄Π΅Π»Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΈΠ½Π° ΡΠ΄ΠΎΠ±Π½ΡΠΌ. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
ΡΠ°Π·Π±ΠΎΡΡΠΈΠ²ΡΠΉ ΠΌΠΈΠΊΡΠΈΠ½ Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ% ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΈΠΌΠ΅Π½Π°
Π΅ΡΡΡ ΠΈ Π²ΡΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΌΠ°ΡΡ, Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π°ΠΏΡΠΈΠΎΡΠ½ΠΎΠ³ΠΎ Π·Π°ΡΠ²Π»Π΅Π½ΠΈΡ
ΡΡΠΎ Π΅ΡΡΡ ΠΈ ΡΠ°ΡΡΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π²
ΡΡΠ±Π°% ΠΈ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ%.ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ
Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ, ΠΊΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Π½Π° ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ; Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅
ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ² Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΊΠ°ΠΊ
ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ Π²Π½Π΅ΡΠ½ΠΈΡ
ΠΈΠΌΠ΅Π½Β».
13.7.1 ΠΠΈΠΊΡΠΈΠ½Ρ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ?, ΠΏΡΠΈΠ΄ΠΈΡΡΠΈΠ²ΡΠΉ ΠΌΠΈΠΊΡΠΈΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ
ΡΡΠΎ Π΅Π³ΠΎ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ°Π΄ΠΎΠ²ΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ
Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΊΠ°ΠΊ fish%, ΡΠ°ΠΊ ΠΈ person%:
ΠΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Ρ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠΌ - ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΌΠΈΠΊΡΠΈΠ½, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΌΠΈΠΊΡΠΈΠ½Π°.Π Π΄ΡΡΠ³ΠΎΠΌ
ΡΠ»ΠΎΠ²Π°, ΡΡΠΎ-Π°? Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠΌ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ ΠΊΠ°ΠΊ
ΡΡΠ½ΠΊΡΠΈΡ, Π½ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅
ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ
ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ»Π°ΡΡΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΡΠ°Π·Π±ΠΎΡΡΠΈΠ²ΡΠΌ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠΌ
ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ ΡΠ°Π·Π±ΠΎΡΡΠΈΠ²ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ
ΠΏΡΠΈΠ΄ΠΈΡΡΠΈΠ²? ΠΏΡΠ΅Π΄ΠΈΠΊΠ°Ρ:
13.7.2 Π€ΠΎΡΠΌΠ° ΠΌΠΈΠΊΡΠΈΠ½Π°
ΠΠ»Ρ ΠΊΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ°Π±Π»ΠΎΠ½Π° Π»ΡΠΌΠ±Π΄Π°-ΠΏΠ»ΡΡ-ΠΊΠ»Π°ΡΡ Π΄Π»Ρ
ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π΄Π»Ρ Π΄ΠΎΠΌΠ΅Π½Π°
ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΌΠΈΠΊΡΠΈΠ½Π°, ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠ»Π°ΡΡΠΎΠ² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠΈΠΊΡΠΈΠ½
ΠΌΠ°ΠΊΡΠΎΡ:
(mixin (interface-expr...) (interface-expr ...) decl-or-expr ...)
ΠΠ΅ΡΠ²ΡΠΉ Π½Π°Π±ΠΎΡ interface-exprs ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π΄ΠΎΠΌΠ΅Π½
mixin, Π° Π²ΡΠΎΡΠΎΠΉ Π½Π°Π±ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½. Π’ΠΎ Π΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅
ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π»ΠΈ Π΄Π°Π½Π½ΡΠΉ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ
ΠΏΠ΅ΡΠ²Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ
ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π²ΡΠΎΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΡΡΠ³ΠΎΠΉ
ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π²
ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡ, Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ°
ΡΠΎΡΠΌΠ° ΠΌΠΈΠΊΡΠΈΠ½Π°.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
> (ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°Π·Π±ΠΎΡΡΠΈΠ²ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ () Π²ΡΠ±ΡΠ°ΡΡ?)) > (ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π³ΠΎΠ»ΠΎΠ΄Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ () Π΅ΡΡΡ))
> (ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°Π·Π±ΠΎΡΡΠΈΠ²ΡΠΉ -eater-mixin (mixin (choosy-interface) (hungry-interface) (Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ, Π²ΡΠ±ΡΠ°ΡΡ?) (super-new) (define / public (eat x) (cond [(Π²ΡΠ±ΡΠ°ΡΡ? X) (printf "chomp chomp chomp on ~ a.\ n "x)] [else (printf" Π― Π½Π΅ Π±Π΅Π· ΡΠΌΠ° ΠΎΡ ~ a. \ n "x)])))) > ( ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅% ΡΠ΅Π»Π΅Π΄ΠΎΡΠ½ΠΈΠΊΠ° (ΡΠ°Π·Π±ΠΎΡΡΠΈΠ²ΡΠΉ-Π΅Π΄ΠΎΠΊ-ΡΠΌΠ΅ΡΠ°Π½Π½ΡΠΉ Π»ΡΠ±ΠΈΡΠ΅Π»Ρ ΡΠ΅Π»ΡΠ΄ΠΈ%)) > (ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ Π΅Π΄ΠΎΠΊΠ° (Π½ΠΎΠ²ΡΠΉ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ-ΡΠ΅Π»Π΅Π΄ΠΎΡΠ½ΠΈΠΊ%)) > (ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ Π΅Π΄ΠΎΠΊΠ° Π΅ΡΡΡ "Π±ΡΠ·ΠΈΠ½Π°") Π― Π½Π΅ Π² Π²ΠΎΡΡΠΎΡΠ³Π΅ ΠΎΡ Π±ΡΠ·ΠΈΠ½Ρ
> (ΠΎΡΠΏΡΠ°Π²Ρ ΠΏΠΎΠ΅Π΄Π°ΡΠ΅Π»Ρ ΡΡΠ΅ΡΡΡ "ΡΠ΅Π»Π΅Π΄ΠΊΡ") ΠΏΠΎΡΠΈΠΏΠ°ΡΡ ΠΏΠΎΡΠΈΠΏΠ°ΡΡ ΡΠ΅Π»Π΅Π΄ΠΊΡ.
> (ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ Π΅Π΄ΠΎΠΊΠ° ΡΡΠ΅ΡΡΡ "ΠΌΠΎΡΠΎΠΆΠ΅Π½ΠΎΠ΅ ΠΈΠ· ΡΠ΅Π»ΡΠ΄ΠΈ") chomp chomp chomp chomp on herring ice cream.
ΠΠΈΠΊΡΠΈΠ½Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ Π²Π²ΠΎΠ΄ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΎΠ½ΠΈ
ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΈΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ, Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ
ΠΎΡΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ -
ΡΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π΄Π΅Π»Π°ΡΡ ΠΊΠ»Π°ΡΡ (ΡΠΌ. Final, Augment ΠΈ Inner).
13.7.3 ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΌΠΈΠΊΡΠ΅ΡΡ
ΠΠ°ΠΊ ΠΎΡΠΌΠ΅ΡΠ°Π»ΠΎΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΡΡ Π²Π½Π΅ΡΠ½ΠΈΡ
ΠΈΠΌΠ΅Π½Β», Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½Ρ Ρ
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ-ΠΈΠΌΡ-ΡΠ»Π΅Π½Π°.ΠΡΠΎ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠΈΠΊΡΠΈΠ½Ρ Π±ΡΡΡ
ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Ρ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ. ΠΠ»Ρ
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°ΡΡ Π³ΠΎΠ»ΠΎΠ΄Π½ΡΠΉ ΠΌΠΈΠΊΡΠΈΠ½ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ
Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ-ΡΠ»Π΅Π½ Π΄Π»Ρ eat:
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ Π³ΠΎΠ»ΠΎΠ΄Π½ΡΠΉ ΠΌΠΈΠΊΡΠΈΠ½, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊ
ΠΊΠ»ΡΡ-ΡΠ»Π΅Π½, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠ΅ΠΌΡ
eat, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠ»ΡΡ-ΠΈΠΌΡ-ΡΠ»Π΅Π½Π°:
ΠΡΡΠ΅ ΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ hungry-mixin ΠΊ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΌΡ ΠΊΠ»Π°ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ
Π΅ΡΡΡ, Π½ΠΎ ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π΅Π³ΠΎ Ρ ΠΊΠ»Π°ΡΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ
chomp Π²ΠΌΠ΅ΡΡΠΎ:
13.8 Traits
Trait ΠΏΠΎΡ
ΠΎΠΆ Π½Π° ΠΌΠΈΠΊΡΠΈΠ½ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΠ΅Ρ Π½Π°Π±ΠΎΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΠΊΠ»Π°ΡΡ. Π§Π΅ΡΡΠ° ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΏΡΠΈΠΌΠ΅ΡΠΈ
Π² ΡΠΎΠΌ, ΡΡΠΎ Π΅Π³ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠ²
ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ trait-sum (ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π²ΡΡ
ΡΠ΅ΡΡ), trait-exclude
(ΡΠ΄Π°Π»ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ· ΠΏΡΠΈΠ·Π½Π°ΠΊΠ°) ΠΈ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ° (Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠΎΠΏΠΈΡ
ΠΌΠ΅ΡΠΎΠ΄ Ρ Π½ΠΎΠ²ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ; Π½Π΅ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΠΉΡΠ΅ Π·Π²ΠΎΠ½ΠΊΠΈ Π½Π° ΡΡΠ°ΡΠΎΠ΅ ΠΈΠΌΡ).
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΈΠΊΡΠΈΠ½Π°ΠΌΠΈ ΠΈ ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π΄Π²Π° ΡΡΠ΅ΠΉΡΠ°
ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Ρ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΎΠ±ΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ
Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·ΡΠΌΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΄ΡΡΠ³ΠΎΠΉ.Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ²Π½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ, ΠΎΠ±ΡΡΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠ°
ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΈΡΠΊΠ»ΡΡΠ°Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡ Π½ΠΎΠ²ΡΡ ΡΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ
ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ fish% Ρ
ΠΎΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΄Π²Π° ΠΊΠ»Π°ΡΡΠ°
ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ, ΠΏΡΡΠ½Π° ΠΈ ΠΏΠΎΠ»ΠΎΡΡ, ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ²Π΅ΡΠ°. ΠΡΡΠ½ΠΈΡΡΡΠΉ ΡΠ²Π΅Ρ ΡΡΠ±Ρ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½
ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ²Π΅Ρ ΠΏΠΎΠ»ΠΎΡΡ ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ; Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ
ΠΏΡΡΠ½Π° + ΠΏΠΎΠ»ΠΎΡΡ-ΡΡΠ±Π°% Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΡΠ΅ΡΠ°ΡΡ Π΄Π²Π° ΡΠ²Π΅ΡΠ°, ΡΡΠΎ
Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΅ΡΠ»ΠΈ ΠΏΡΡΠ½Π° ΠΈ ΠΏΠΎΠ»ΠΎΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΊΠ°ΠΊ
ΠΏΡΠΎΡΡΡΠ΅ ΠΌΠΈΠΊΡΠΈΠ½Ρ.ΠΡΠ»ΠΈ Π²ΡΠ΅ ΠΆΠ΅ ΠΏΡΡΠ½Π° ΠΈ ΠΏΠΎΠ»ΠΎΡΡ
ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΊΠ°ΠΊ ΡΠ΅ΡΡΡ, ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ
, ΠΌΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ
ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ²Π΅Ρ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ΅ ΠΊ Π½Π΅ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΠΎΠΌΡ ΠΈΠΌΠ΅Π½ΠΈ. ΠΡΠΎΡΠΎΠΉ,
ΠΌΠ΅ΡΠΎΠ΄Ρ get-color ΡΠ΄Π°Π»Π΅Π½Ρ ΠΈΠ· ΠΎΠ±ΠΎΠΈΡ
, Π° ΡΠ΅ΡΡΡ
ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠ°ΠΌΠΈ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π½ΠΎΠ²Π°Ρ ΡΠ΅ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ
ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π²ΠΎΠ΄ΠΈΡ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ²Π΅ΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅
Π΄Π²Π° ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠ°, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠΈΠ΅ ΠΆΠ΅Π»Π°Π΅ΠΌΡΠ΅ ΠΏΡΡΠ½Π° + ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΎΡ.
13.8.1 Π§Π΅ΡΡΡ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡΡ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ²
ΠΠ΄ΠΈΠ½ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΊ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΡ Π² Racket - ΡΡΠΎ Π½Π°Π±ΠΎΡ
ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ², Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠΌ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ°.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ
ΠΏΠΎΠΏΡΡΠ°ΠΉΡΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΈ ΠΏΡΡΠ΅Π½ ΠΈ ΠΏΠΎΠ»ΠΎΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ
ΡΠΏΠΈΡΠΊΠΈ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΉ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π°Π±ΠΎΡΠΎΠ²:
(ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡΡΠ½Π°-ΠΏΡΠΈΠ·Π½Π°ΠΊΠ° (ΡΠΏΠΈΡΠΎΠΊ (cons 'get-color (Π»ΡΠΌΠ±Π΄Π° (%) (ΠΊΠ»Π°ΡΡ% (ΡΡΠΏΠ΅Ρ-Π½ΠΎΠ²ΡΠΉ) ( define / public (get-color) 'black)))))) (define stripes-trait (list (cons' get-color (lambda (%) (class% (super-new) (define / public (get-color) 'red))))))
. ΡΡΠΌΠΌΠ° ΠΈ
trait-exclude ΠΏΡΠΎΡΡΡΠΌΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΡΠΌΠΈ; ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΡΠΎ ΡΠ°ΠΊ
Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ trait-alias.Π₯ΠΎΡΡ ΠΌΠΈΠΊΡΠΈΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ
Π΄ΡΠ±Π»ΠΈΡΡΠ΅ΡΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΉ, ΠΌΠΈΠΊΡΠΈΠ½ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Π°,
Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, get-color ΠΈ ΠΌΠΈΠΊΡΠΈΠ½Ρ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π°
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ°, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°ΡΡ
ΠΏΠΎΠ΄ΠΌΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΈΠΌΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ eat
Π±ΡΠ» ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ
ΠΌΠΈΠΊΡΠΈΠ½Π°Ρ
.
ΠΠ»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ trait-alias, ΠΏΡΡΠ½Π°-ΡΠ΅ΡΡΠ°
Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΊΠ°ΠΊ:
ΠΠΎΠ³Π΄Π° ΠΌΠ΅ΡΠΎΠ΄Ρ get-color Π² ΠΏΡΡΠ½Π°Ρ
-ΠΏΡΠΈΠ·Π½Π°ΠΊΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ
Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ-ΡΠ²Π΅ΡΠ°-ΡΠ΅ΡΡΡ, Π° ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ-ΡΠ²Π΅ΡΠ° -
ΡΠ΄Π°Π»Π΅Π½, ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ ΠΏΡΠΈΠ·Π½Π°ΠΊ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅, ΠΊΠ°ΠΊ
Π§ΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΈΠ·Π½Π°ΠΊ T ΠΊ ΠΊΠ»Π°ΡΡΡ C ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ
class, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ((trait-> mixin T) C).Π§Π΅ΡΡΠ°-> ΠΌΠΈΠΊΡΠΈΠ½
ΡΡΠ½ΠΊΡΠΈΡ ΡΠ½Π°Π±ΠΆΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΈΠΊΡΠΈΠ½ T ΠΊΠ»ΡΡΠΎΠΌ Π΄Π»Ρ ΠΌΠΈΠΊΡΠΈΠ½Π°
ΠΌΠ΅ΡΠΎΠ΄ ΠΈ ΡΠ°ΡΡΠΈΡΠ½ΠΎΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ C:
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠ·Π½Π°ΠΊ Π²ΡΡΠ΅ ΡΠΎΡΠ΅ΡΠ°Π΅ΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ°ΠΌΠΈ, Π° Π·Π°ΡΠ΅ΠΌ
ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ ΠΊΠ»Π°ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ get-color ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ
ΠΊ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΠΈΠΌΠ΅Π½ΠΈ get-trait-color.
13.8.2 Inherit and Super in Traits
ΠΡΠ° ΠΏΠ΅ΡΠ²Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ΅ΠΉΡΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ trait-alias, ΠΈ ΡΡΠΎ
ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ°ΠΌ ΡΠ΅Π±Ρ, Π½ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ
ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ·ΡΠ²Π°ΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°.Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΏΡΡΠ½ΠΈΡΡΠ°Ρ ΡΡΠ±Π°
ΡΡΠ½ΠΎΡΠ½Π°Ρ ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ²Π΅ΡΠ° Π΅Π³ΠΎ ΠΏΡΡΠ΅Π½:
(ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΏΡΡΠ½ΠΎ-ΠΏΡΠΈΠ·Π½Π°ΠΊ (ΡΠΏΠΈΡΠΎΠΊ (ΠΌΠΈΠ½ΡΡΡ (ΠΈΠΌΡ-ΡΠ»Π΅Π½Π°-ΠΊΠ»ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ-ΡΠ²Π΅Ρ) ....) (ΠΌΠΈΠ½ΡΡΡ ( ΠΈΠΌΡ-ΡΠ»Π΅Π½Π°-ΠΊΠ»ΡΡ get-price) (Π»ΡΠΌΠ±Π΄Π° (get-price%) .... (class% .... (define / public (get-price) )
.... (get-color) ....))))))
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡΡΠ½Π°-ΠΏΡΠΈΠ·Π½Π°ΠΊΠ° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ
Get-Color Π½Π΅ Π²Ρ
ΠΎΠ΄ΠΈΡ Π² ΡΡΠΎΠΈΠΌΠΎΡΡΡ Get-Price
ΠΌΠΈΠΊΡΠΈΠ½. ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠΈΠΊΡΠΈΠ½Π°, ΠΊΠΎΠ³Π΄Π°
trait ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊ ΠΊΠ»Π°ΡΡΡ, ΠΌΠ΅ΡΠΎΠ΄ get-color Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ
Π΄ΠΎΡΡΡΠΏΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΊ ΠΊΠ»Π°ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΌΠΈΠΊΡΠΈΠ½ get-price.
ΠΠΎΡΡΠΎΠΌΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ (Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ get-color) ΠΊ
ΠΡΠΈΠΌΠ΅ΡΡ get-price Π½Π΅ ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΠ΄Π½ΠΎ ΠΈΠ· ΡΠ΅ΡΠ΅Π½ΠΈΠΉ - ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ (ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ ΡΡΠΎΡ ΡΠ²Π΅Ρ) Π²
ΡΠ°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠ°ΠΊ get-price.ΠΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ
send Π²ΡΠ΅Π³Π΄Π° ΠΎΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΠΏΠΎΠΈΡΠΊ ΠΌΠ΅ΡΠΎΠ΄Π° Π΄ΠΎ ΡΠ΅Ρ
ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ
ΠΎΡΠ΅Π½Π΅Π½. ΠΡΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΏΠΎΠΈΡΠΊ Π΄ΠΎΡΠΎΠΆΠ΅ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°,
ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½ΠΈΠ΅. Π₯ΡΠΆΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ Π·Π°Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΎΠ³ΠΎ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ get-color
Π΄Π°ΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ.
ΠΡΠΎΡΠΎΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈ Π΄Π΅ΠΉΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ - ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ.
ΡΠ΅ΡΡ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°ΡΡ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ²:
ΠΎΠ΄Π½Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄, Π° Π΄ΡΡΠ³Π°Ρ - ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ. ΠΠΎΠ³Π΄Π°
ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊ ΠΊΠ»Π°ΡΡΡ, Π²ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΈ, Π²Π²ΠΎΠ΄ΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ,
ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ.Π’ΠΎΠ³Π΄Π° ΠΌΠΈΠΊΡΠΈΠ½Ρ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄, ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π»ΡΠ±ΠΎΠΌΡ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ.
(ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ΅ΡΡΡ ΠΏΡΡΠ½Π° (list (list (local-member-name-key get-color) (lambda (get-color get-price%) .... (class% .... (define / public (get-color) (void))) (lambda (get-color get-price%).... (class% .... (define / override (get-color) 'black)))) (list (local-member-name-key get-price ) (Π»ΡΠΌΠ±Π΄Π° (get-price get-color%) .... (class% .... (define / public (get-price) (void)))) (Π»ΡΠΌΠ±Π΄Π° (get-color, get-price%).... (ΠΊΠ»Π°ΡΡ% .... (Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ get-color) (ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ / ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ (get-price) .... (get-color) ....))))))
Π‘ ΡΡΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ° trait-alias Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Ρ
Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ, Π½ΠΎ ΠΎΠ½ΠΎ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
ΡΡΡΠ»ΠΎΠΊ Π½Π° ΡΡΠ°ΡΡΠΉ ΠΌΠ΅ΡΠΎΠ΄.
13.8.3 Π€ΠΎΡΠΌΠ° ΠΏΡΠΈΠ·Π½Π°ΠΊΠ°
Π¨Π°Π±Π»ΠΎΠ½ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ° ΡΠ²Π½ΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ»ΠΎΠΆΠ΅Π½ Π΄Π»Ρ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ Π΄Π»Ρ ΠΏΡΡΠΌΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ ΠΎΠ½ Π»Π΅Π³ΠΊΠΎ ΠΊΠΎΠ΄ΠΈΡΡΠ΅ΡΡΡ Π²
ΠΌΠ°ΠΊΡΠΎΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ°:
(ΠΏΡΠΈΠ·Π½Π°ΠΊ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ°-ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅...)
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π² Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ ΠΏΡΡΠΌΠΎΠ³ΠΎ
ΡΡΡΠ»ΠΊΠ° Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ exprs, ΠΈ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Ρ
Π»ΠΈΠ±ΠΎ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ΅ΡΡΠ°ΠΌΠΈ, Π»ΠΈΠ±ΠΎ Π±Π°Π·ΠΎΠ²ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ
ΡΡΠ° ΡΠ΅ΡΡΠ° Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΡΠΎΡΠΌΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠ², ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ
trait-sum, trait-exclude, trait-alias ΠΈ
trait-> mixin, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΡΠ½Π°-ΡΠ΅ΡΡΡ ΠΈ
ΠΏΠΎΠ»ΠΎΡΡ-ΡΠ΅ΡΡΠ° ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡ.
(ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ΅ΡΡΡ ΠΏΡΡΠ½Π° (ΡΠ΅ΡΡΠ° (define / public (get-color) 'black) (define / public (get-price)... (get-color) ...))) (define stripes-trait (trait (define / public (get-color) 'red))) (ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΡΡΠ½Π° + ΠΏΠΎΠ»ΠΎΡΡ-ΡΠ΅ΡΡΠ° (ΡΠ΅ΡΡΠ°-ΡΡΠΌΠΌΠ° (ΡΠ΅ΡΡΠ°-ΠΈΡΠΊΠ»ΡΡΠΈΡΡ (ΡΠ΅ΡΡΠ°-ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ ΠΏΡΡΠ½Π°-ΡΠ΅ΡΡΠ° ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ²Π΅Ρ ΠΏΡΡΠ½Π° ) get-color) (trait-exclude (trait-alias stripes-trait get-color get-stripes-color) get-color) trait (Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ get-spot-color get-stripes-color) (define / public (get-color) .... (get-spot-color) .... (get-stripes-color) ....))))
13.9 ΠΠΎΠ½ΡΡΠ°ΠΊΡΡ ΠΊΠ»Π°ΡΡΠΎΠ²
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ»Π°ΡΡΡ ΡΠ²Π»ΡΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡΡ Π³ΡΠ°Π½ΠΈΡΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ² , ΠΈ ΠΌΡ
ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΆΠ΅Π»Π°ΡΡ Π·Π°ΡΠΈΡΠΈΡΡ ΡΠ°ΡΡΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°ΠΌΠΈ. ΠΠ° ΡΡΠΎ,
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΡΠΌΠ° class / c. Π€ΠΎΡΠΌΠ° class / c ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ
ΠΏΠΎΠ΄ΡΠΎΡΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π΄Π²Π° ΡΠΈΠΏΠ° ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ² ΠΏΠΎ ΠΏΠΎΠ»ΡΠΌ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ:
ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π»ΠΈΡΡΡ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΈ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π»ΠΈΡΡΡ
ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΡ.
13.9.1 ΠΠΎΠ½ΡΡΠ°ΠΊΡΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ²
Π ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΉ ΡΠΎΡΠΌΠ΅ class / c Π·Π°ΡΠΈΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΈΠ· ΡΠ²Π΅ΡΠ½ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡΡ
ΡΠΎΡΠΌΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ° / c, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠΉ Π·Π°ΡΠΈΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΠΏΠΎΠ»Π΅ΠΉ
ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠΎΠ·ΡΠΌΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅
animal%, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΡΠΈΠ±ΡΡΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ°:
ΠΠ»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ%, Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠΎΠ»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°
Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅ΡΠ½ΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ Π·Π°Π΄Π°Π½ΠΎ ΠΏΠΎΠ»Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°,
Π΅ΠΌΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΠ΅ΡΠΎΠ΄ Π΅Π΄Ρ
Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Ρ ΠΏΠΎΠ»Π΅ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ°
ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ.ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ
ΡΡΠ»ΠΎΠ²ΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ
ΠΊΠ»Π°ΡΡ% animal Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠΌ:
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ -> m Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π΅Π΄Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ
Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΡΠΎΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΊΠ»Π°ΡΡ Ρ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠΌ, ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ
Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈ Π΅Π΄Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ:
> (define bob (new animal%)) > (set-field! size bob 3) > (get-field size bob) 3
> (set-field! Size bob 'large) ΠΆΠΈΠ²ΠΎΡΠ½ΡΡ %: Π½Π°ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°
ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ΅: ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ / c
'Π±ΠΎΠ»ΡΡΠΎΠΉ
in: ΠΏΠΎΠ»Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π²
(class / c
(Π΅ΡΡΡ
(-> m
000 (-> m
02) / c (ΠΏΠΎΠ»Π΅ (ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΉ / c)))
Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ?))
(ΠΏΠΎΠ»Π΅ (ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΉ / c)))
ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ ΠΎΡ: Π½Π° ΠΆΠΈΠ²ΠΎΡΠ½ΡΡ %)
ΠΎΠ±Π²ΠΈΠ½Π΅Π½ΠΈΠ΅: Π²Π΅ΡΡ Π½ΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ
(ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ)
at: eval: 31.0
> (ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΈΡΠΈ (Π½ΠΎΠ²ΠΎΠ΅ ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΠ΅%)) > (ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π±ΠΎΠ± Π΅ΡΡΡ ΡΠΈΡΠΈ) > (ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π±ΠΎΠ±Π°) 13
> (ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠ°ΠΌΠ΅Π½Ρ (Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ%))
> (ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π±ΠΎΠ± Π΅ΡΡΡ ΠΊΠ°ΠΌΠ΅Π½Ρ) Π΅ΡΡΡ: Π½Π°ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°;
Π±Π΅Π· ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ
Π²: 1-ΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ
ΠΌΠ΅ΡΠΎΠ΄ eat Π²
(class / c
(-> m
(ΠΎΠ±ΡΠ΅ΠΊΡ / c (ΠΏΠΎΠ»Π΅ (ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΉ / c)))
ΠΏΡΡΡΠΎ?)
(ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠΎΠ»Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΉ / c)))
ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ ΠΎΡ: (ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ%)
ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ Π½Π°: ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΠ΅%
ΠΎΠ±Π²ΠΈΠ½Π΅Π½ΠΈΠ΅: Π²ΡΡΡΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ
Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ)
at: eval: 31.0
> (ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π³ΠΈΠ³Π°Π½Ρ (Π½ΠΎΠ²ΡΠΉ (ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ°% (ΡΡΠΏΠ΅Ρ-Π½ΠΎΠ²ΡΠΉ) (ΠΏΠΎΠ»Π΅ [ΡΠ°Π·ΠΌΠ΅Ρ 'Π±ΠΎΠ»ΡΡΠΎΠΉ])))) > (ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π±ΠΎΠ± Π΅ΡΡΡ Π³ΠΈΠ³Π°Π½Ρ) Π΅ΡΡΡ: Π½Π°ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°
ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ΅: ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ / c
Π·Π°Π΄Π°Π½Π½ΠΎΠ΅: 'Π±ΠΎΠ»ΡΡΠΎΠ΅
Π²: ΠΏΠΎΠ»Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π²
1-ΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ
ΠΌΠ΅ΡΠΎΠ΄ eat Π²
(class / c
(eat
(-> m
(ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° / c (ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° / c) )))
Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ?))
(ΠΏΠΎΠ»Π΅ (ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΉ / c)))
ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ ΠΎΡ: (ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ%) 900 06
ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ Π½Π°: ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΠ΅%
ΠΎΠ±Π²ΠΈΠ½Π΅Π½ΠΈΠ΅: Π²Π΅ΡΡ Π½ΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ
(ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ)
ΠΏΡΠΈ ΠΎΡΠ΅Π½ΠΊΠ΅: 31.0
ΠΡΡΡ Π΄Π²Π° Π²Π°ΠΆΠ½ΡΡ
ΠΏΡΠ΅Π΄ΠΎΡΡΠ΅ΡΠ΅ΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ² Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠ΅ΡΠ²ΡΠΉ,
ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΡΠ΅Π»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ
Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ - ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ
Π»Π΅ΠΆΠΈΡ Π² Π³ΡΠ°Π½ΠΈΡΠ°Ρ
ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°. ΠΡΠΌΠ΅Π½Π° ΡΡΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π»ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ
Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΌΠ΅ΡΠΎΠ΄Ρ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅
ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°Π΅Ρ Π³ΡΠ°Π½ΠΈΡΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ² ΠΏΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ, Π²Π½Π΅ΡΠ½ΠΈΠ΅
ΠΏΠΎΠ»Π΅Π²ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΠ»Ρ
Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠΌΠ΅Π½Π΅Π½ ΠΈΠ»ΠΈ Π·Π°ΡΠ΅Π½Π΅Π½.
ΠΠΎ-Π²ΡΠΎΡΡΡ
, ΡΡΠΈ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΡ ΠΆΠΈΠ²ΠΎΡΠ½ΡΡ
%
Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅. ΠΠΎΠ»Ρ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ
Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ ΡΡΠΈΠΌΠΈ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°ΠΌΠΈ, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ°
via super ΡΠΎΠΆΠ΅ Π½Π΅ ΠΎΡΠΌΠ΅ΡΠ΅Π½Ρ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ
ΠΎΠ±Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ΅ΡΠ΅ΠΆΠ΅Π½ΠΈΡ:
> (ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ»ΠΎΠ½Π° (Π½ΠΎΠ²ΠΎΠ΅ ΠΊΡΡΠΏΠ½ΠΎΠ΅ ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΠ΅%)) > (ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠ»ΠΎΠ½Π° ΠΏΠΎΠ΅ΡΡΡ (Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ%) 602 Nom nom nom
> (ΡΠ»ΠΎΠ½ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Ρ ΠΏΠΎΠ»Π΅) animal%: Π½Π°ΡΡΡΠΈΠ» ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ
ΠΎΠ±Π΅ΡΠ°Π»: ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΉ / c
9000 ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ in: ΠΏΠΎΠ»Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π²
(class / c
(Π΅ΡΡΡ
(-> m
000 (-> m
000) c (ΠΏΠΎΠ»Π΅ (ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΉ / c)))
ΠΏΡΡΡΠΎ?))
(ΠΏΠΎΠ»Π΅ (ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΉ / c))
9037 7
ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ ΠΎΡ: (ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΆΠΈΠ²ΠΎΡΠ½ΡΡ %)
ΠΎΠ±Π²ΠΈΠ½Π΅Π½ΠΈΠ΅: (ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΆΠΈΠ²ΠΎΡΠ½ΡΡ %)
(ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ)
at: eval: 31.0
13.9.2 ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ ΠΊΠ»Π°ΡΡΠΎΠ²
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ°
ΡΠ»ΠΎΠ½ ΠΎΠ±Π²ΠΈΠ½ΡΠ΅Ρ ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΠ΅% Π² Π½Π°ΡΡΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°.
ΠΡΠ° Π²ΠΈΠ½Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ, Π½ΠΎ Π½Π΅ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²Π°Ρ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΠΊΠ»Π°ΡΡΡ% ΠΆΠΈΠ²ΠΎΡΠ½ΡΡ
,
ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ Π΅ΡΠ΅ Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ Π΅ΠΌΡ ΠΌΠ΅ΡΠΎΠ΄ Π·Π°ΡΠΈΡΡ ΠΎΡ
ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΡ. Π‘ ΡΡΠΎΠΉ ΡΠ΅Π»ΡΡ ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅
ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ°ΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΈ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ
ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ°.ΠΡΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ
ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»Π°Π±ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ Π² ΠΈΠ΅ΡΠ°ΡΡ
ΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², Π³Π΄Π΅
ΠΈΠ½Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π°ΡΡΡΠ΅Π½Ρ Π²Π½ΡΡΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ, Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ
Π΄Π»Ρ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
Π²ΠΈΠ΄ΠΎΠ² Π·Π°ΡΠΈΡΡ ΠΌΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠΌ
ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΡΠ΅Π»Π΅Π½Π½ΡΠΉ Π½Π° ΠΊΠ»Π°ΡΡ ΠΆΠΈΠ²ΠΎΡΠ½ΡΡ
%, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡΠ΅
ΡΠΎΡΠΌΡ:
ΠΡΠΎΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ ΠΊΠ»Π°ΡΡΠ° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΊΠ»Π°ΡΡΠ° animal%
Π·Π°ΡΠΈΡΠ΅Π½Ρ, ΠΊΠ°ΠΊ ΠΈ ΡΠ°Π½ΡΡΠ΅, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΡΡΡ, ΡΡΠΎ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΡ ΠΆΠΈΠ²ΠΎΡΠ½ΡΡ
%
Ρ
ΡΠ°Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΏΠΎΠ»Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΎΡ ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ% ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.ΠΡΠΈ ΡΠΎΡΠΌΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ² Π²Π»ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΈΠ΅ΡΠ°ΡΡ
ΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΈ ΡΠΎΠ»ΡΠΊΠΎ
Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡ Π³ΡΠ°Π½ΠΈΡΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°.
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π²Π»ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠΎΠΌ.
ΠΏΠΎΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄, ΠΈ ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ
Π²Π»ΠΈΡΠ΅Ρ Π½Π° Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ° Π² ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ°
ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ Π²Π»ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅
ΡΠΎΡΠΌΠ° Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π² ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΡΡΠ²Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ΅ΠΊΡΡ
ΡΡΠΈ ΠΊΠ»Π°ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ.ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ», ΠΈ
ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ
Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π² Π±Π΅ΡΠ°-ΡΡΠΈΠ»Π΅.
ΠΌΠ΅ΡΡΠΎ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΡΡΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅:
> (ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ²ΠΈΠ½ΡΡ (Π½ΠΎΠ²ΡΠΉ Π½Π΅Π°ΠΊΠΊΡΡΠ°ΡΠ½ΡΠΉ%)) > (ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ slop1 (Π½ΠΎΠ²ΠΎΠ΅ ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΠ΅%)) > (ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠΌΠΎΠΉ2 (Π½ΠΎΠ²ΠΎΠ΅ ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΠ΅ %)) > (ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ slop3 (% Π½ΠΎΠ²ΡΡ ΠΆΠΈΠ²ΠΎΡΠ½ΡΡ )) > (ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠ²ΠΈΠ½ΡΡ Π΅ΡΡΡ ΠΏΠΎΠΌΠΎΠΈ1) (ΠΎΠ±ΡΠ΅ΠΊΡ: animal%...)
> (ΡΠ°Π·ΠΌΠ΅Ρ get-field slop1) 5
> (send pig gulp (list slop1 slop2 slop3)) Π΅ΡΡΡ 9036 Π½Π°ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°
ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ: Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ?
Π·Π°Π΄Π°Π½ΠΎ: (ΠΎΠ±ΡΠ΅ΠΊΡ: ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΠ΅% ...)
Π²: Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅
ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΈΡΠ°Π½ΠΈΡ Π²
(
c
(ΠΊΠ»Π°ΡΡ / c
)
(ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ (Π΅ΡΡΡ
(-> m
(ΠΎΠ±ΡΠ΅ΠΊΡ / c
(ΠΏΠΎΠ»Π΅ (ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΉ / c))
000
Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ?))))
ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ ΠΎΡ: (ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΠΆΠΎΡΠ°%)
ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ Π½Π°: ΠΎΠ±ΠΆΠΎΡΠ°%
ΠΎΠ±Π²ΠΈΠ½Π΅Π½ΠΈΠ΅: (ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ sloppy-eater%)
(ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ)
at: eval: 47.0
ΠΠΎΠΌΠΈΠΌΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΡ
Π·Π΄Π΅ΡΡ ΡΠΎΡΠΌ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ² Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π΅ΡΡΡ
Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ ΡΠΎΡΠΌΡ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π² ΡΡΠΈΠ»Π΅ Π±Π΅ΡΠ°.