ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Java β ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ extends ΠΈ implements Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ
ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° C++ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ Π½Π° Java Π±ΡΠ²Π°Π΅Ρ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΠΏΡΠΎΡΠ»Π°Π²Π»Π΅Π½Π½ΡΠΉ ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ°, Π° Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ Π² ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°Ρ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ± ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΠΊΠΎΠΌ ΠΎΡΠ»ΠΈΡΠΈΠΈ Ρ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
Π Π΅ΡΡ ΠΏΠΎΠΉΠ΄Π΅Ρ ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ Π² Java. Π ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ C++, Π³Π΄Π΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ³Π»ΠΎ Π±ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ, Π·Π΄Π΅ΡΡ ΡΡΠΎ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ°ΠΊ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΡΠΈΠ²ΡΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ΅ΡΠ΅Π· Β«:Β» Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΡΡ Π½Π° ΡΠ΅Π»ΡΡ Π΄Π²Π° ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ²Π°: extends ΠΈ implements. ΠΠ°ΡΠ½Ρ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ.
ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ extends Π² Java
ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠΌ, ΠΎΠ΄ΠΈΠ½ ΠΊΠ»Π°ΡΡ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ Π΄ΡΡΠ³ΠΎΠΉ, ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΡΠ°Π²ΠΈΠ»Π° Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΎΡ ΡΠ°Π½ΠΈΠ»ΠΈΡΡ: private Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ°ΠΌΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅, protected Π² ΡΠ°ΠΌΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΠΈ Π²ΠΎ Π²ΡΠ΅Ρ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ°Ρ , ΠΊ public ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΠΈ ΠΏΠΎΠ»ΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΎΡΠΊΡΠ΄Π° ΡΠ³ΠΎΠ΄Π½ΠΎ. ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Β«ΡΠΈΡΠ½ΠΎΠ³ΠΎΒ» Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠ»Π°ΡΡ. Π― ΡΠ΅ΠΉΡΠ°Ρ Π½Π΅ Π±ΡΠ΄Ρ ΡΠ°ΡΡΡΠΆΠ΄Π°ΡΡ ΠΎ ΡΠΎΠΌ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ, ΡΠΊΠ°ΠΆΡ ΡΠΎΠ»ΡΠΊΠΎ, ΡΡΠΎ ΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² C++ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ²ΠΎΡΠΈΠ»Π°ΡΡ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΠΊΠ°ΡΠ°.
ΠΠ΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° extends. ΠΠ°ΠΏΠΈΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ Door, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π΄Π²Π΅ΡΠΈ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΈΠΌ, ΠΊΠ°ΠΊ Ρ Β«ΠΏΡΠΎΡΡΠΎ Π΄Π²Π΅ΡΡΡΒ». Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ Π½Π°ΠΏΠΈΡΠ΅ΠΌ Π΅ΡΠ΅ Π΄Π²Π° ΠΊΠ»Π°ΡΡΠ°: IronDoor ΠΈ WoodDoor, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΈΡΡΡΡ ΠΊΠ»Π°ΡΡ Door(== Π½Π°ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° Door), Ρ.Π΅. Π΄ΠΎΠ±Π°Π²ΡΡ ΡΠ²ΠΎΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΊ Π±Π°Π·ΠΎΠ²ΡΠΌ.
ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ implements Π² Java
Π‘ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ implements ΡΠ²ΡΠ·Π°Π½ΠΎ ΡΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ Ρ ΠΈΡΡΠΎΡΡΠ΅ΠΉ. Π‘Π»ΠΎΠ²ΠΎ Β«ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡΒ» ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΠΊΠ°ΠΊ Β«ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡΒ», Π° Π² ΡΠΎΡ ΡΠ°ΠΌΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΠ»ΠΎΠ²ΠΎ Β«ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡΒ», Π³Π΄Π΅-ΡΠΎ Π½Π΅Π΄Π°Π»Π΅ΠΊΠΎ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ. Π’Π°ΠΊ Π²ΠΎΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ public class Door implements Openable ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠ»Π°ΡΡ Π΄Π²Π΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Β«ΠΎΡΠΊΡΡΠ²Π°ΡΡΠΈΠΉΡΡΒ». Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠ»Π°ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΠ»Π°Π²Π½Π°Ρ ΡΠΈΡΠΊΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΠΊΠΎΠ»Ρ ΡΠ³ΠΎΠ΄Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ².
ΠΠ°ΡΠ΅ΠΌ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ? Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Π² Π³ΠΎΠ»ΠΎΠ²Ρ, Π΄Π²Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°: Openable ΠΈ Closeble. Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄ open, ΠΈ ΠΌΠ΅ΡΠΎΠ΄ close Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ. ΠΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π½Π°ΡΡΠΈΡΡ Π½Π°ΡΡ Π΄Π²Π΅ΡΡ Π·Π°ΠΊΡΡΠ²Π°ΡΡΡΡ ΠΈ ΠΎΡΠΊΡΡΠ²Π°ΡΡΡΡ.
Π ΠΊΠ»Π°ΡΡΠ°Ρ -ΠΏΠΎΡΠΎΠΌΠΊΠ°Ρ Π΄Π²Π΅ΡΠΈ(ΠΆΠ΅Π»Π΅Π·Π½Π°Ρ ΠΈ Π΄Π΅ΡΠ΅Π²ΡΠ½Π½Π°Ρ Π΄Π²Π΅ΡΠΈ) ΡΠΎΠΆΠ΅ ΠΏΠΎΡΠ²ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΡΠΊΡΡΡΡ/Π·Π°ΠΊΡΡΡΡ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π² ΠΊΠ»Π°ΡΡΠ΅ Door. ΠΠΎ Π½ΠΈΠΊΡΠΎ Π½Π°ΠΌ Π½Π΅ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠ°ΠΊ, Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ Π² ΡΠΎΠΌ, ΡΡΠΎ extends ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° Π² ΠΏΡΡΠΌΠΎΠΌ ΡΠΌΡΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°, Π° implements ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Β«ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΒ». ΠΠ° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ ΡΡΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π»ΠΈΡΠ½ΠΈΠΌ, Π½Π΅ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΠΈ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ, Π½ΠΎ ΡΡΠΎΠΈΡ ΠΏΠ°ΡΡ ΡΠ°Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ Π²ΡΠ΅ Π²ΡΡΠ°Π΅Ρ Π½Π° ΡΠ²ΠΎΠΈ ΠΌΠ΅ΡΡΠ°. ΠΠ° ΡΠ΅Π³ΠΎΠ΄Π½Ρ Ρ ΠΌΠ΅Π½Ρ Π²ΡΠ΅, ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!
ΠΠ°ΠΊΠΎΠ²ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π° Β«ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΒ»?
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π° Β«ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΒ» ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΌΡ ΡΠΈΡΠ»Ρ Π»ΡΠ΄Π΅ΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ, ΠΏΠΎ ΡΡΡΠΈ, ΠΎΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠΈΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ Π²ΡΠ΅ ΡΠ°ΡΠ΅ ΠΎΠ½ΠΎ Π·Π²ΡΡΠΈΡ Π² Π‘ΠΠ Π² ΡΠ²ΡΠ·ΠΈ Ρ ΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅Ρ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΠ΅ΠΌ, ΠΊΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΈΠΌΠΈ Π½ΠΎΠ²ΠΎΡΡΡΠΌΠΈ, Ρ ΠΎΡΠ΅Ρ Π³Π»ΡΠ±ΠΆΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Π² ΡΠ΅ΠΌΠ΅.
ΠΠ±ΡΠ΅Π΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅
Π§ΡΠΎΠ±Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΡΠ»ΠΎΠ²Π° Β«ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΒ», Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° Π΄Π°Π΄ΠΈΠΌ Π΅Π³ΠΎ ΠΎΠ±ΡΠ΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅. ΠΡΠΎ ΡΠ΅ΡΠΌΠΈΠ½ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠ°Π²Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ ΠΎΡ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ implementation, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΠ΅Π³ΠΎ Β«Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΠ΅Β». ΠΠΎΠ΄ Π½ΠΈΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΡΡΠ², Π²Π·ΡΡΡΡ ΡΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠΉ Π½Π° Π²Π½ΡΡΡΠΈΠ³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅.
Π ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ±, ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π² Π½Π°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ°Π²ΠΎ ΡΡΡΠ°Π½Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΠ΅ Π½ΠΎΡΠΌΡ. ΠΠ»Π°Π²Π½ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΠΌ Π΄Π»Ρ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΡΠΊΠΎΡΠ½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΌ ΡΠ΅Π»ΡΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π»ΠΎΠΆΠ΅Π½Ρ Π² ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠΌ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ.
Π’ΡΠΈ ΡΠΏΠΎΡΠΎΠ±Π°
ΠΠΎΠ½ΡΡΡ, ΡΡΠΎ Π·Π½Π°ΡΠΈΡ Β«ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΒ», ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π΅Π΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΡ.
Π ΡΠ°ΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌ ΠΎΡΠ½ΠΎΡΡΡ:
ΠΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΡΠΌ, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΠΌ ΠΏΡΠ°Π²ΠΎΠΌ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠ°Π²ΠΎΠ²ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ². Π‘ΡΠ΅Π΄ΠΈ Π½ΠΈΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎ- ΠΈ Π½Π°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ-ΠΏΡΠ°Π²ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π½ΠΎΡΠΌ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅ΡΠ΅ ΡΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π° Β«ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΒ», ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡ .
ΠΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎ-ΠΏΡΠ°Π²ΠΎΠ²ΠΎΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ
ΠΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΡ ΡΡΠ΅Π΄ΡΡΠ², Π² ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΎΠ΄ΡΡ:
Π Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Π²ΠΎΠΏΡΠΎΡΠ° ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΡΠ»ΠΎΠ²Π° Β«ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΒ» ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²ΡΠΎΡΠΎΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ.
ΠΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ-ΠΏΡΠ°Π²ΠΎΠ²ΠΎΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ
Π Π½Π΅Π³ΠΎ Π²Ρ ΠΎΠ΄ΠΈΡ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΡ Π²Π½ΡΡΡΠΈΠ³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ΅Π΄ΡΡΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ·Π²Π°Π½Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½ΠΎΡΠΌ ΠΠ. Π Π½ΠΈΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ:
ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠΎ
Java β ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ extends ΠΈ implements Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ
ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° C++ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ Π½Π° Java Π±ΡΠ²Π°Π΅Ρ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΠΏΡΠΎΡΠ»Π°Π²Π»Π΅Π½Π½ΡΠΉ ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ°, Π° Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ Π² ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°Ρ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ± ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΠΊΠΎΠΌ ΠΎΡΠ»ΠΈΡΠΈΠΈ Ρ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
Π Π΅ΡΡ ΠΏΠΎΠΉΠ΄Π΅Ρ ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ Π² Java. Π ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ C++, Π³Π΄Π΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ³Π»ΠΎ Π±ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ, Π·Π΄Π΅ΡΡ ΡΡΠΎ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ°ΠΊ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΡΠΈΠ²ΡΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ΅ΡΠ΅Π· Β«:Β» Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΡΡ Π½Π° ΡΠ΅Π»ΡΡ Π΄Π²Π° ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ²Π°: extends ΠΈ implements. ΠΠ°ΡΠ½Ρ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ.
ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ extends Π² Java
ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠΌ, ΠΎΠ΄ΠΈΠ½ ΠΊΠ»Π°ΡΡ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ Π΄ΡΡΠ³ΠΎΠΉ, ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΡΠ°Π²ΠΈΠ»Π° Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΎΡ ΡΠ°Π½ΠΈΠ»ΠΈΡΡ: private Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ°ΠΌΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅, protected Π² ΡΠ°ΠΌΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΠΈ Π²ΠΎ Π²ΡΠ΅Ρ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ°Ρ , ΠΊ public ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΠΈ ΠΏΠΎΠ»ΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΎΡΠΊΡΠ΄Π° ΡΠ³ΠΎΠ΄Π½ΠΎ. ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Β«ΡΠΈΡΠ½ΠΎΠ³ΠΎΒ» Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠ»Π°ΡΡ. Π― ΡΠ΅ΠΉΡΠ°Ρ Π½Π΅ Π±ΡΠ΄Ρ ΡΠ°ΡΡΡΠΆΠ΄Π°ΡΡ ΠΎ ΡΠΎΠΌ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ, ΡΠΊΠ°ΠΆΡ ΡΠΎΠ»ΡΠΊΠΎ, ΡΡΠΎ ΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² C++ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ²ΠΎΡΠΈΠ»Π°ΡΡ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΠΊΠ°ΡΠ°.
ΠΠ΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° extends. ΠΠ°ΠΏΠΈΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ Door, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π΄Π²Π΅ΡΠΈ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΈΠΌ, ΠΊΠ°ΠΊ Ρ Β«ΠΏΡΠΎΡΡΠΎ Π΄Π²Π΅ΡΡΡΒ». Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ Π½Π°ΠΏΠΈΡΠ΅ΠΌ Π΅ΡΠ΅ Π΄Π²Π° ΠΊΠ»Π°ΡΡΠ°: IronDoor ΠΈ WoodDoor, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΈΡΡΡΡ ΠΊΠ»Π°ΡΡ Door(== Π½Π°ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° Door), Ρ.Π΅. Π΄ΠΎΠ±Π°Π²ΡΡ ΡΠ²ΠΎΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΊ Π±Π°Π·ΠΎΠ²ΡΠΌ.
ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ implements Π² Java
Π‘ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ implements ΡΠ²ΡΠ·Π°Π½ΠΎ ΡΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ Ρ ΠΈΡΡΠΎΡΡΠ΅ΠΉ. Π‘Π»ΠΎΠ²ΠΎ Β«ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡΒ» ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΠΊΠ°ΠΊ Β«ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡΒ», Π° Π² ΡΠΎΡ ΡΠ°ΠΌΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΠ»ΠΎΠ²ΠΎ Β«ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡΒ», Π³Π΄Π΅-ΡΠΎ Π½Π΅Π΄Π°Π»Π΅ΠΊΠΎ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ. Π’Π°ΠΊ Π²ΠΎΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ public class Door implements Openable ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠ»Π°ΡΡ Π΄Π²Π΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Β«ΠΎΡΠΊΡΡΠ²Π°ΡΡΠΈΠΉΡΡΒ». Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠ»Π°ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΠ»Π°Π²Π½Π°Ρ ΡΠΈΡΠΊΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΠΊΠΎΠ»Ρ ΡΠ³ΠΎΠ΄Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ².
ΠΠ°ΡΠ΅ΠΌ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ? Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Π² Π³ΠΎΠ»ΠΎΠ²Ρ, Π΄Π²Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°: Openable ΠΈ Closeble. Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄ open, ΠΈ ΠΌΠ΅ΡΠΎΠ΄ close Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ. ΠΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π½Π°ΡΡΠΈΡΡ Π½Π°ΡΡ Π΄Π²Π΅ΡΡ Π·Π°ΠΊΡΡΠ²Π°ΡΡΡΡ ΠΈ ΠΎΡΠΊΡΡΠ²Π°ΡΡΡΡ.
Π ΠΊΠ»Π°ΡΡΠ°Ρ -ΠΏΠΎΡΠΎΠΌΠΊΠ°Ρ Π΄Π²Π΅ΡΠΈ(ΠΆΠ΅Π»Π΅Π·Π½Π°Ρ ΠΈ Π΄Π΅ΡΠ΅Π²ΡΠ½Π½Π°Ρ Π΄Π²Π΅ΡΠΈ) ΡΠΎΠΆΠ΅ ΠΏΠΎΡΠ²ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΡΠΊΡΡΡΡ/Π·Π°ΠΊΡΡΡΡ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π² ΠΊΠ»Π°ΡΡΠ΅ Door. ΠΠΎ Π½ΠΈΠΊΡΠΎ Π½Π°ΠΌ Π½Π΅ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠ°ΠΊ, Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ Π² ΡΠΎΠΌ, ΡΡΠΎ extends ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° Π² ΠΏΡΡΠΌΠΎΠΌ ΡΠΌΡΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°, Π° implements ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Β«ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΒ». ΠΠ° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ ΡΡΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π»ΠΈΡΠ½ΠΈΠΌ, Π½Π΅ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΠΈ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ, Π½ΠΎ ΡΡΠΎΠΈΡ ΠΏΠ°ΡΡ ΡΠ°Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ Π²ΡΠ΅ Π²ΡΡΠ°Π΅Ρ Π½Π° ΡΠ²ΠΎΠΈ ΠΌΠ΅ΡΡΠ°. ΠΠ° ΡΠ΅Π³ΠΎΠ΄Π½Ρ Ρ ΠΌΠ΅Π½Ρ Π²ΡΠ΅, ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!
ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠΎ
ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ²ΡΠΎΡ Dmitry dziuba Π·Π°Π΄Π°Π» Π²ΠΎΠΏΡΠΎΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΡΡΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ
Π§Π΅ΠΌ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΎΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ? =) ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. Π§Π΅ΠΌ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΎΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ? ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ» Π»ΡΡΡΠΈΠΉ ΠΎΡΠ²Π΅Ρ
ΠΡΠ²Π΅Ρ ΠΎΡ ΠΡΠΈΠ½Π° Π[Π³ΡΡΡ]
ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ: ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΡΠ΅. ΡΠΎ, ΡΡΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΊΠ»Π°ΡΡΠ΅. Π Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠ°ΡΠΎΠ³ΠΎ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ, ΠΎΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΠΎ ΡΠ°ΡΠ΅, ΡΠ»ΠΎΠ²ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡ Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²: ΡΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π΄Π΅Π»Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°.
ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΠ΅Π³ΠΎ-ΡΠΎ (ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ
ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π° Β«ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΒ» ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΌΡ ΡΠΈΡΠ»Ρ Π»ΡΠ΄Π΅ΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ, ΠΏΠΎ ΡΡΡΠΈ, ΠΎΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠΈΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ Π²ΡΠ΅ ΡΠ°ΡΠ΅ ΠΎΠ½ΠΎ Π·Π²ΡΡΠΈΡ Π² Π‘ΠΠ Π² ΡΠ²ΡΠ·ΠΈ Ρ ΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅Ρ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΠ΅ΠΌ, ΠΊΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΈΠΌΠΈ Π½ΠΎΠ²ΠΎΡΡΡΠΌΠΈ, Ρ ΠΎΡΠ΅Ρ Π³Π»ΡΠ±ΠΆΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Π² ΡΠ΅ΠΌΠ΅.
ΠΠ±ΡΠ΅Π΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅
Π§ΡΠΎΠ±Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΡΠ»ΠΎΠ²Π° Β«ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΒ», Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° Π΄Π°Π΄ΠΈΠΌ Π΅Π³ΠΎ ΠΎΠ±ΡΠ΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅. ΠΡΠΎ ΡΠ΅ΡΠΌΠΈΠ½ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠ°Π²Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ ΠΎΡ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ implementation, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΠ΅Π³ΠΎ Β«Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΠ΅Β». ΠΠΎΠ΄ Π½ΠΈΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΡΡΠ², Π²Π·ΡΡΡΡ ΡΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠΉ Π½Π° Π²Π½ΡΡΡΠΈΠ³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅.
Π ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ±, ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π² Π½Π°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ°Π²ΠΎ ΡΡΡΠ°Π½Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΠ΅ Π½ΠΎΡΠΌΡ. ΠΠ»Π°Π²Π½ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΠΌ Π΄Π»Ρ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΡΠΊΠΎΡΠ½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΌ ΡΠ΅Π»ΡΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π»ΠΎΠΆΠ΅Π½Ρ Π² ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠΌ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ.
Π’ΡΠΈ ΡΠΏΠΎΡΠΎΠ±Π°
ΠΠΎΠ½ΡΡΡ, ΡΡΠΎ Π·Π½Π°ΡΠΈΡ Β«ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΒ», ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π΅Π΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΡ.
Π ΡΠ°ΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌ ΠΎΡΠ½ΠΎΡΡΡ:
ΠΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΡΠΌ, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΠΌ ΠΏΡΠ°Π²ΠΎΠΌ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠ°Π²ΠΎΠ²ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ². Π‘ΡΠ΅Π΄ΠΈ Π½ΠΈΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎ- ΠΈ Π½Π°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ-ΠΏΡΠ°Π²ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π½ΠΎΡΠΌ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅ΡΠ΅ ΡΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π° Β«ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΒ», ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡ .
ΠΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎ-ΠΏΡΠ°Π²ΠΎΠ²ΠΎΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ
ΠΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΡ ΡΡΠ΅Π΄ΡΡΠ², Π² ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΎΠ΄ΡΡ:
Π Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Π²ΠΎΠΏΡΠΎΡΠ° ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΡΠ»ΠΎΠ²Π° Β«ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΒ» ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²ΡΠΎΡΠΎΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ.
ΠΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ-ΠΏΡΠ°Π²ΠΎΠ²ΠΎΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ
Π Π½Π΅Π³ΠΎ Π²Ρ ΠΎΠ΄ΠΈΡ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΡ Π²Π½ΡΡΡΠΈΠ³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ΅Π΄ΡΡΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ·Π²Π°Π½Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½ΠΎΡΠΌ ΠΠ. Π Π½ΠΈΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ:
ΠΠ΅ ΠΌΠΎΠ³Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ (ΠΈ Π΅ΡΡΡ Π»ΠΈ ΠΎΠ½Π°) ΡΠΎΠ½ΠΊΠ°Ρ Π³ΡΠ°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ ΡΠ²ΡΠ·Π΅ΠΉ Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ² UML:
Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ UML ΠΊΠ°ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΎΠ³ΠΎ Π²ΠΎΠΏΡΠΎΡΠ° Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
β ΡΠ²ΡΠ·Ρ generalization Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΠΊΠ»Π°ΡΡ (Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊ) ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ (ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅). Π‘ΡΠ΄Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ, Π·Π΄Π΅ΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠ»Π°ΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ (Ρ.Π΅. ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΅Π³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ).
β ΡΠ²ΡΠ·Ρ realization Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΠΊΠ»Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠ΅ Π΄ΡΡΠ³ΠΈΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ. Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Π·Π΄Π΅ΡΡ ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΈΠ»ΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ.
β ΡΠ²ΡΠ·Ρ implementation β ΡΡΠΎ ΠΏΠΎΠ΄ΡΠΈΠΏ ΡΠ²ΡΠ·ΠΈ realization. Π‘ΡΠ΄Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ, Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ ΡΠ²ΡΠ·ΠΈ β ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ, Π° Π½Π° Π΄ΡΡΠ³ΠΎΠΌ β ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (interface Π² Java, ΡΠΈΡΡΠΎ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ Π² C++).
ΠΠΎΠΏΡΠΎΡ ΠΏΠ΅ΡΠ²ΡΠΉ: Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠ½Π° ΠΌΠΎΡ ΡΡΠ°ΠΊΡΠΎΠ²ΠΊΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ?
ΠΠΎΠΏΡΠΎΡ Π²ΡΠΎΡΠΎΠΉ: ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΡΠΈΡΠ°ΡΡ realization ΠΏΠΎΠ΄ΡΠΈΠΏΠΎΠΌ ΡΠ²ΡΠ·ΠΈ generalization?
ΠΠΎΠΏΡΠΎΡ ΡΡΠ΅ΡΠΈΠΉ: Π΅ΡΠ»ΠΈ ΡΠ·ΡΠΊ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ (C++ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ) ΠΈ ΠΊΠ»Π°ΡΡ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΎΡ Π΄Π²ΡΡ
ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΠΊΠ»Π°ΡΡΠΎΠ² β ΠΊΠ°ΠΊΠ°Ρ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΎΠΌ ΠΈ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ?
Π‘Π΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ. Π ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΡΠ½ΠΎΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° β Π»ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π°ΡΠΏΠ΅ΠΊΡΠΎΠ² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° (Π»ΠΈΠ±ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π°Π΄ ΡΡΠΈΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ).
ΠΠΎΠΏΡΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΡΡΠΉ: ΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ Π±ΡΡΡ ΡΠ°ΠΊΠΎΠ΅, ΡΡΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΏΠΎΡΠΎΠΆΠ΄Π°Π΅Ρ ΡΠ²ΡΠ·Ρ generalization, Π° Π² Π΄ΡΡΠ³ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β realization.
Π’ΡΠ°ΠΊΡΠΎΠ²ΠΊΠ° Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ Π²Π΅ΡΠ½Π°, Ρ ΡΠ΅ΠΉΡΠ°Ρ ΠΈΠ·Π»ΠΎΠΆΡ ΡΠ²ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅, Π° ΡΠΆ ΡΡΠ°Π²Π½ΠΈΡΡ Π½Π°ΡΠΈ Π²Π·Π³Π»ΡΠ΄Ρ Π·Π°Π΄Π°ΡΠ° Π½Π΅ ΠΈΠ· ΠΏΡΠΎΡΡΡΡ )) ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠΉ Π² UML ΠΈ ΠΠΠ.
Π ΡΠ΅Π»ΠΎΠΌ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠΌ: Π‘ΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ: ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΡΠ²ΠΎΠΉΡΡΠ² ΠΈ ΠΏΡΠΎΡΠΈΡ ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΡΡΡΠΊ) ΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ (ΡΡΠΎ Π½Π΅ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ ΠΏΡΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΈ Ρ Π΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ).
Generalization. ΠΠΎΠ³Π΄Π° Ρ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π΅ΡΡΠΈ ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠΌΡ β ΠΎΠ±ΠΎΠ±ΡΠΈΡΡ. ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡ ΠΎΠ΄ΡΡΠ²ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π°ΡΠΏΠ΅ΠΊΡΠ° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΈ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ΅ ΡΡ ΠΎΠ΄ΡΡΠ²ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
Realization. ΠΠΎΠ³Π΄Π° ΡΠ°ΡΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²ΡΠ½ΠΎΡΠΈΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ β ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΈΠ΅ΠΌ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ Π΄Π΅Π»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π½ΠΎ UML ΠΏΠΎΡ ΠΎΠΆΠ΅ ΡΡΠΈΡΠ°Π΅Ρ ΠΈΠ½Π°ΡΠ΅.
Implementation. Π ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ UML ΡΡΠΎ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π΅ΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π° ΡΠΎΡΡΠ°Π²Π½ΡΠ΅ ΡΠ°ΡΡΠΈ. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΎΠ²ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΎΠ΅β¦
ΠΠ±ΡΠΎΠ»ΡΡΠ½ΠΎΠ΅ ΡΡ ΠΎΠ΄ΡΡΠ²ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² Generalization Π·Π²ΡΡΠΈΡ ΡΠ±Π΅Π΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π° Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠ΅ΡΡΡ Π² ΡΡΠΎ Π²Π΅ΡΠΈΡΡ. ΠΠΎ Π½Π°ΠΏΡΡΠ³Π°Π΅Ρ ΠΌΠΎΠΌΠ΅Π½Ρ, ΡΡΠΎ Π·Π°ΡΠ°ΡΡΡΡ Π² ΠΊΠ»Π°ΡΡΠ°Ρ -Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ°Ρ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ Π±ΡΠ»ΠΎ Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ, Π° Π² ΠΊΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠ΅ΡΠΈΡΡ ΠΏΠΎΠ½ΠΈΠΆΠ°ΡΡΠ΅Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° (downcasting).
Implementation ΠΊΠ°ΠΊ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π° ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΌΠ½Π΅ ΡΠΎΠΆΠ΅ Π½ΡΠ°Π²ΠΈΡΡΡ. Π’ΠΎΠ»ΡΠΊΠΎ Π½Π΅ ΠΏΠΎΠ½ΡΠ», ΠΏΠΎΡΠ΅ΠΌΡ Ρ ΡΠ΅Π±Ρ implementation Π² UML ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΠ΅Ρ Ρ implementation Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ. ΠΡΠ»ΠΈ ΡΡΠ΄ΠΈΡΡ ΠΏΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Java ΠΈΠ»ΠΈ PHP, ΡΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΊΠ»Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ implement. ΠΠ΄ΠΈΠ½ ΠΊΠ»Π°ΡΡ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, IComparable, IMovable ΠΈ > Π ΠΌΠ°Π½ΡΠ°Π»Π΅ IBM ΠΏΠΎ UML ΠΏΡΠΎ ΡΠ²ΡΠ·Ρ implementation Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅: The implementation relationship specifies that the realizing classifier must conform to the contract that the provided interface specifies. ΠΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ by design Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π² ΡΠ°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡΡΡ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² Java, PHP ΠΈΠ»ΠΈ C#.
Π ΡΠΎΠΌ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠΌ ΠΌΠ°Π½ΡΠ°Π»Π΅ ΠΏΡΠΎ ΡΠ²ΡΠ·Ρ realization Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π²ΠΎΡ ΡΡΠΎ: You can model the following situations using realization relationships:
A component is realized by a set of classifiers that provide its implementation. ΠΠΎΡ ΡΡΠΎ ΡΠΆΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΡ
ΠΎΠΆΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΊΠ»Π°ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ²ΠΎΠΈΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ, ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡΡΡ ΠΈΠ· ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΊΠ»Π°ΡΡΠΎΠ², Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΠ½ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ realization ΠΏΠ»ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅Π³ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ. ΠΡΠΈ ΡΡΠΎΠΌ Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅ΡΡΡ, ΡΡΠΎ Π½ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Π±ΡΠ΄Π΅Ρ Π½Π° 100 % ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π½ΠΈΠΊΡΠΎ Π½Π΅ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ Π½Π°ΠΌ realization ΠΏΡΠΎΠ²Π΅ΡΠ½ΡΡΡ Π·Π° ΡΡΠ΅Ρ Π΄Π΅Π»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π²ΠΎΠ²ΡΠ΅ Π±Π΅Π· Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅. ΠΡΠΈ ΡΡΠΎΠΌ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΡΠ²ΡΠ·ΠΈ (ΠΏΡΠ½ΠΊΡΠΈΡΠ½Π°Ρ Π»ΠΈΠ½ΠΈΡ Ρ ΠΏΡΡΡΡΠΌ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠΌ Π½Π° ΠΊΠΎΠ½ΡΠ΅) Π½ΠΈΡΠ΅ΠΌ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π²ΠΈΠ΄Π° ΡΠ²ΡΠ·ΠΈ implementation ΠΈ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΡΠ²ΡΠ·Ρ generalization, ΡΡΠΎ ΠΌΠ΅Π½Ρ Π²Π²ΠΎΠ΄ΠΈΡ Π² Π·Π°Π±Π»ΡΠΆΠ΄Π΅Π½ΠΈΠ΅. ΠΠ΅Π»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΆΠ΅ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ°Ρ
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠ²ΡΠ·ΡΡ association (ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π΄Π»Ρ agregation ΠΈΠ»ΠΈ composition). Π ΠΈΡΠΊΠ½Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ, ΡΡΠΎ ΡΠ²ΡΠ·Ρ realization Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ association ΠΏΡΠΈ Π΄Π΅Π»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΠ‘Π ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ°, Π²Ρ
ΠΎΠ΄ΡΡΠ΅Π³ΠΎ Π² ΡΠ²ΡΠ·Ρ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ (service provider), ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠ΅ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ
ΠΌΠ΅ΡΠΎΠ΄Π°Ρ
ΠΊΠ»Π°ΡΡΠ° Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ²ΡΠ·ΠΈ (Ρ.Π΅. ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Π±ΠΈΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅).
ΠΡ ΠΈ ΠΏΠΎΠΊΠ° Π½Π΅ ΡΡΠ΅Π½ Π΄Π»Ρ ΠΌΠ΅Π½Ρ Π²ΠΎΠΏΡΠΎΡ, ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π½ΠΎΡΠ΅ΡΡΡΠ½ΡΡ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² + ΠΎΠ΄ΠΈΠ½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ· Π½ΠΈΡ (Π½ΠΎ Π½Π΅ Π²ΡΠ΅!) Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ. ΠΡΠΈΡΠ΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ° Π² 99% ΡΠ»ΡΡΠ°Π΅Π² Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Π°. ΠΠΈΡΠ°ΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ β Π°Π΄. ΠΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΡΠΈ ΠΊΠ»Π°ΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡ MyObject implements IInterface, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (Π°-Π»Ρ C# ΠΈΠ»ΠΈ Java) β Π²ΡΠΎΠ΄Π΅ ΠΏΠ΅ΡΠ΅Π±ΠΎΡ. Π ΠΊΠ°ΠΊ ΠΏΡΠΈ ΡΡΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΊΠ»Π°ΡΡΠΎΠ² UML?
Π‘ΠΈΠ΅ Π΅ΡΡΡ ΠΎΡΠ΅Π½Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎβ¦ Π½ΠΈΠΊΠΎΠ³Π΄Π° ΡΠ°ΠΊ Π³Π»ΡΠ±ΠΎΠΊΠΎ Π½Π΅ ΡΡΠ», ΠΈ Π²ΠΎΡβ¦
ΠΠ°ΠΆΠ΅ ΠΏΠΎ-ΡΡΡΡΠΊΠΈ Β«realizationΒ» ΠΈ Β«implementationΒ» ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΡΡΡ ΠΊΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ β ΡΡΠΎ Ρ Π²ΡΠΎΠ΄Π΅ Π·Π½Π°Π», Π° Π² Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π΅ Π²ΡΡΡΠ΅ΡΠ°Π» Π½ΠΈΠ³Π΄Π΅. ΠΠΎΠΈΡΠΊ Β«realizationΒ» Π² Π²ΠΈΠΊΠΈ Π½ΠΈΡΠ΅Π³ΠΎ ΡΠΎΠΆΠ΅ Π½Π΅ Π΄Π΅Π», ΡΡΠΎ ΡΠΆΠ΅ Π½Π°ΡΡΠΎΡΠ°ΠΆΠΈΠ²Π°Π΅Ρ. Π Π²ΠΎΡ ΠΏΡΠΎ implementation Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ, ΡΡΠΎ ΡΡΠΎ Π΅ΡΡΡ realization
Β«Implementation is the realization of an application, or execution of a plan, idea, model, design, specification, standard, algorithm, or policy.Β»
ΠΠ°Π΄Π½ΠΎ, ΠΏΠΎΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΡΡΠΎ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅.
Π’ΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Π΅ΠΌ, ΡΡΠΎ generalization β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅, Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΎΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ»ΠΈ Π½Π΅Ρ.
Implementation β ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (ΠΈΠ»ΠΈ ΡΠΈΡΡΠΎ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°).
ΠΡΠΎΠ³ΠΎ, ΠΏΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ Π²ΠΎΠΏΡΠΎΡ Ρ Π½Π΅ Π·Π½Π°Ρ, ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΡ, Π½ΠΎ Π²ΡΡΠΊΠ°Π·Π°Π» ΡΠ²ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅.
ΠΠΎ Π²ΡΠΎΡΠΎΠΌΡ β ΠΌΠΎΠΆΠ½ΠΎ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΡΡΠΎΡΠ½Π΅Π½ΠΈΠ΅ΠΌ, ΡΡΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ (realized, implemnted) ΡΠΆΠ΅ ΡΠ΅Π°Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΠΌΠΎΠ³ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
ΠΠΎ ΡΡΠ΅ΡΡΠ΅ΠΌΡ β ΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΡΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ²ΡΠ·Π΅ΠΉ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΅ΡΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² β ΡΠΎ Π±ΡΠ΄Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ²ΡΠ·Π΅ΠΉ Β«implementationΒ», ΡΠΎ ΠΆΠ΅ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΈ generalization.
ΠΠΎ ΡΠ΅ΡΠ²Π΅ΡΡΠΎΠΌΡ β Π΅ΡΠ»ΠΈ Π²Π»Π°ΡΡ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΈ ΡΠ°ΠΌ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ (Ρ.Π΅. ΡΠΎΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌ), ΡΠΎ ΡΡΡ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ (implementation, realization) β Ρ.Π΅. ΡΡΡ ΡΠΈΡΡΠΎ generalization. Π Π΅ΡΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ β ΡΠΎ ΡΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ implementation (realization).
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π² Java ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌΠ΅
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ β ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ, Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π·Π°ΡΠ°ΡΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΡΠ°Π·Π½ΡΠΌΠΈ Π»ΡΠ΄ΡΠΌΠΈ, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈ ΡΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎ ΡΠ»ΠΎΡΠΌΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, DAO ΠΈ Ρ.Π΄. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΡΠΎΠ³Π°ΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅.
ΠΠΎΠ²ΠΈΡΠΊΠΈ ΡΠ°ΡΡΠΎ ΡΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ, ΡΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π² Java ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡΡΡΡ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ². Π£ ΠΊΠ»Π°ΡΡΠ°-ΠΏΠΎΡΠΎΠΌΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ-ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ, Π° Π²ΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ (ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ) ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π° Java ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΊΠ»Π°ΡΡ:
Π ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΡΡΡΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠ»Π°ΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π²ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Ρ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠ΅ΡΠΎΠ΄Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ Π² Java 8. ΠΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ default. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ say_goodbye, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°Π½Π° ΠΏΡΡΠΌΠΎ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅. ΠΠ΅ΡΠΎΠ»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π² ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠ»Π°ΡΡΠ°Ρ .
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Java
ΠΡΠ»ΠΈ Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΠ³ΠΎ ΠΏΡΠΈΠ½ΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠ΅ΠΉ @FunctionalInterface, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΡΡΠΎ ΠΏΡΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠΎΡΠΎΠ³ΠΎ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π² ΡΡΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠΎΠ±ΡΠΈΡΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ (default) ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ β Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°ΡΡΡ java.lang.Object.
ΠΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π° Java:
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ Π² Java 8. ΠΠ½ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠ΄ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΡΠΌ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ:
Π ΡΠΎΠΉ ΠΆΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²: java.util.function ΠΈ java.util.stream.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Java
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Edible, ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠ»Π°ΡΡΡ Fruit, Vegetable, Fish. ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΡΡΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΊ:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·Π½ΠΈΡΡ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°Ρ : Π΄Π»Ρ ΡΡΡΠΊΡΠΎΠ² Π·Π°Π΄Π°ΡΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ ΡΠΎΡΡ, Π΄Π»Ρ ΡΡΠ±Ρ β Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΡΠ°ΠΉΠΎΠ½ Π²ΡΠ»ΠΎΠ²Π° ΠΈ Π²Π΅Ρ ΠΏΠΎΡΡΠΈΠΈ Π² Π³ΡΠ°ΠΌΠΌΠ°Ρ . ΠΠΎ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΎΠ±Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ° Ρ ΡΠ°Π½ΠΈΠΌ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° β Β«Π‘ΡΠ΅ΡΡΠ½ΠΎΠ΅Β».
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ
ΠΡΠΈΠΌΠ΅Ρ Π²ΡΡΠ΅ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡΡΠΈΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΠΠΠ β ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ. ΠΡ ΡΠ°ΡΠΊΡΡΠ»ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΡΠ²Π»Π΅Π½ΠΈΠ΅ β ΡΡΠ΅Π΄ΠΎΠ±Π½ΠΎΡΡΡ β ΡΠ΅ΡΠ΅Π· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠΎΡΠΎΡΡΡ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π·Π½ΡΡ ΡΠΎΡΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ²Π»Π΅Π½ΠΈΡ β ΡΡΠΎ ΠΈ Π΅ΡΡΡ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ. ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ, ΡΠ°ΠΊΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΠΈ ΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ β Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ Π²ΠΈΠ΄Ρ ΡΡΠ΅ΡΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΡ ΠΏΡΠΈΠ³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡ.
Π Java ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π·:
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π²ΡΡΡΡΠ°Π΅Ρ Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΡ Π½Π΅ Π·Π½Π°Π΅ΠΌ, ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π΅ΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ β ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ, Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π·Π°ΡΠ°ΡΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΡΠ°Π·Π½ΡΠΌΠΈ Π»ΡΠ΄ΡΠΌΠΈ, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈ ΡΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎ ΡΠ»ΠΎΡΠΌΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, DAO ΠΈ Ρ.Π΄. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΡΠΎΠ³Π°ΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅.
ΠΠΎΠ²ΠΈΡΠΊΠΈ ΡΠ°ΡΡΠΎ ΡΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ, ΡΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π² Java ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡΡΡΡ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ². Π£ ΠΊΠ»Π°ΡΡΠ°-ΠΏΠΎΡΠΎΠΌΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ-ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ, Π° Π²ΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ (ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ) ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π° Java ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΊΠ»Π°ΡΡ:
Π ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΡΡΡΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠ»Π°ΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π²ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Ρ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠ΅ΡΠΎΠ΄Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ Π² Java 8. ΠΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ default. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ say_goodbye, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°Π½Π° ΠΏΡΡΠΌΠΎ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅. ΠΠ΅ΡΠΎΠ»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π² ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠ»Π°ΡΡΠ°Ρ .
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Java
ΠΡΠ»ΠΈ Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΠ³ΠΎ ΠΏΡΠΈΠ½ΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠ΅ΠΉ @FunctionalInterface, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΡΡΠΎ ΠΏΡΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠΎΡΠΎΠ³ΠΎ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π² ΡΡΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠΎΠ±ΡΠΈΡΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ (default) ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ β Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°ΡΡΡ java.lang.Object.
ΠΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π° Java:
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ Π² Java 8. ΠΠ½ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠ΄ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΡΠΌ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ:
Π ΡΠΎΠΉ ΠΆΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²: java.util.function ΠΈ java.util.stream.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Java
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Edible, ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠ»Π°ΡΡΡ Fruit, Vegetable, Fish. ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΡΡΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΊ:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·Π½ΠΈΡΡ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°Ρ : Π΄Π»Ρ ΡΡΡΠΊΡΠΎΠ² Π·Π°Π΄Π°ΡΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ ΡΠΎΡΡ, Π΄Π»Ρ ΡΡΠ±Ρ β Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΡΠ°ΠΉΠΎΠ½ Π²ΡΠ»ΠΎΠ²Π° ΠΈ Π²Π΅Ρ ΠΏΠΎΡΡΠΈΠΈ Π² Π³ΡΠ°ΠΌΠΌΠ°Ρ . ΠΠΎ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΎΠ±Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ° Ρ ΡΠ°Π½ΠΈΠΌ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° β Β«Π‘ΡΠ΅ΡΡΠ½ΠΎΠ΅Β».
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ
ΠΡΠΈΠΌΠ΅Ρ Π²ΡΡΠ΅ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡΡΠΈΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΠΠΠ β ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ. ΠΡ ΡΠ°ΡΠΊΡΡΠ»ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΡΠ²Π»Π΅Π½ΠΈΠ΅ β ΡΡΠ΅Π΄ΠΎΠ±Π½ΠΎΡΡΡ β ΡΠ΅ΡΠ΅Π· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠΎΡΠΎΡΡΡ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π·Π½ΡΡ ΡΠΎΡΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ²Π»Π΅Π½ΠΈΡ β ΡΡΠΎ ΠΈ Π΅ΡΡΡ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ. ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ, ΡΠ°ΠΊΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΠΈ ΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ β Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ Π²ΠΈΠ΄Ρ ΡΡΠ΅ΡΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΡ ΠΏΡΠΈΠ³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡ.
Π Java ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π·:
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π²ΡΡΡΡΠ°Π΅Ρ Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΡ Π½Π΅ Π·Π½Π°Π΅ΠΌ, ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π΅ΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½.
ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΌΠΈΠΊΡΠΈΠ½ Π½Π° ΠΏΠ»ΡΡΠ°Ρ
Advanced: Π’Π΅ΠΌΠ° ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ Π²Π°ΠΆΠ½Π°Ρ.
ΠΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ.
ΠΠ°ΠΏΠΈΡΠ°Π» ΡΠ΄ΠΎΠ±Π½ΡΡ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΌΠΈΠΊΡΠΈΠ½ β ΡΠ΅ΡΠΈΠ» Π²ΡΠ»ΠΎΠΆΠΈΡΡ, ΠΌΠΎΠΆΠ΅Ρ ΠΊΠΎΠΌΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ.
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Ρ
Π΅Π΄Π΅Ρ: Mixines.h (ΠΏΠΎΠΊΠ° Π±Π΅Π· ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π²).
Π’ΠΎ Π΅ΡΡΡ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π΄ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ. ΠΠ°Π»Π΅Π΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΌΠΈΠΊΡΠΈΠ½Ρ ΠΈ Π΄Π΅Π»Π°Π΅ΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° PhysPointImplGenerator. Π ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΎΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡΡ Π»ΡΠ±ΡΡ ΡΠ°ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ°ΠΌ ΠΏΠΎΠΉΠΌΠ΅Ρ, ΠΊΠ°ΠΊΡΡ ΡΠ°ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡΡ.
Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
kas
Π― ΡΠ°ΠΊ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ Π½Π°ΠΌΠ΅ΠΊ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΡΠ»ΠΈ Π΄Π° β ΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π·Π΄Π΅ΡΡ ΡΡΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, Ρ. ΠΊ. Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ, Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π»Π΅Π³ΠΊΠΎ Π·Π° PIMPL Π² cpp ΡΠΊΡΡΠ²Π°Π΅ΡΡΡ.
Π ΠΎΠ±ΡΠ΅ΠΌ, Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π½Π΅ Π½Π°Π΄ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΈΠΊΡΠΈΠ½Ρ. Π½ΠΎ Π²ΠΈΠ΄ΠΈΠΌΠΎ ΠΎΠ½ΠΎ Π½ΠΈΠΊΠΎΠΌΡ Π½Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ. =
Paltr
Π§ΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Ρ
ΠΎΡΡ, ΡΠ²ΠΎΠΉ ΠΌΠΈΠΊΡΠΈΠ½?
ΠΡΠ°ΠΉΠ½Π΅ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ, ΠΠΠ₯Π, Π²Π΅ΡΡ Π½ΠΎ Π½Π° ΠΏΠ»ΡΡΠ°Ρ Π΅Π΅ Π½Π΅Ρ.
ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΠΈΡΠ° Π² ΡΡΡΠ΄ΠΈΡ. Ρ ΡΠ°ΠΊ ΠΈ Π½Π΅ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π», Π³Π΄Π΅ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ.
Suslik
ΠΠ½Π΅ ΠΎΠ½ΠΎ ΡΠ΅ΠΉΡΠ°Ρ Π½Π°Π΄ΠΎ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Steering Behavior. Π‘Π°ΠΌΠΎΠ΅ ΠΎΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° Π² ΠΏΡΡΠ½Π°Π΄ΡΠ°ΡΠΈ ΡΡΡΠΎΠΊΠ°Ρ
.
Π ΡΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΈΠ½Π°ΠΌ Π²ΡΠ΅Π³Π΄Π° Π½Π°ΠΉΠ΄Π΅ΡΡΡ β Π½Π΅ Π·ΡΡ ΠΎΠ½ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Ρ
ΠΎΡΠΎΡΠΈΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ Π½Π°ΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ =).
Paltr
> Π‘Π°ΠΌΠΎΠ΅ ΠΎΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° Π² ΠΏΡΡΠ½Π°Π΄ΡΠ°ΡΠΈ ΡΡΡΠΎΠΊΠ°Ρ
> ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° Π² ΠΏΡΡΠ½Π°Π΄ΡΠ°ΡΠΈ ΡΡΡΠΎΠΊΠ°Ρ
> ΠΠ―Π’ΠΠΠΠ¦ΠΠ’Π Π‘Π’Π ΠΠΠΠ₯
Π½Π΅, Π½Ρ ΠΏΡΠ°Π²Π΄Π°, ΠΏΡΠΈΠ²Π΅Π΄ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΆΠ΅. ΠΌΠΎΠΆΠ΅ΡΡ ΠΈΠ· ΡΠ²ΠΎΠ΅Π³ΠΎ Π½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ, ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΈΠ· ΡΠΈΠ·ΠΈΠΊΠΎΡΠ½Π΅ΡΠ³Π΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ 🙂
Suslik
> ΠΏΠ°-Π±Π°Π°Π°ΠΌ! ΠΎΠ΄Π½Π° ΡΡΡΠΎΠΊΠ°.
Π‘ΠΌΠ΅ΡΠ½ΠΎ.
Π― ΡΠ΅Π±Π΅ ΠΏΡΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΡΡ ΠΌΠ½Π΅ ΠΊΡΡΠΎΠΊ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Steering Behavior. Π Π°Π·ΡΠΌΠ½ΠΎ.
ΠΡΠΆΠ΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ β ΡΠΌΠΎΡΡΠΈ Π² ΠΈΠ½Π΅ΡΠ΅. ΠΡΠ»ΠΈ Π½Π΅ Π½Π°ΠΉΠ΄Π΅ΡΡ, Π² ΡΠ΅ΠΌ Ρ ΡΠΎΠΌΠ½Π΅Π²Π°ΡΡΡ, ΠΏΠΈΡΠΈ β ΠΏΡΠΈΠΌΠ΅Ρ Π±ΡΠ΄Π΅Ρ.
Suslik
ΠΠΎΡΠΎΡΠ΅, ΡΡΠΎ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΠΉ(Π² ΡΠ»ΡΡΠ°Π΅ Ρ C++), Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΠ΄Π΅, ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π».
ΠΠΎΠΆΠ½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π²ΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ· Wiki. ΠΠΎΠΏΡΡΡΠΈΠΌ Π΅ΡΡΡ Β«ΠΏΡΠΈΠΌΠ΅ΡΡΒ» 🙂 Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΡΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ >, ΠΠ±ΡΡΡΠ½ΠΈΡΠ΅ ΠΏΠΎΠΆΠ°Π»ΡΡΠ°, ΡΠΎΠ³Π΄Π° ΡΠ΅ΠΌ ΡΡΠΎ Π»ΡΡΡΠ΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ:
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, Π½ΠΈΡΠ΅ΠΌ. Π’.ΠΊ. ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΌΠΈΠΊΡΠΈΠ½ΠΎΠ² Π² C++ Π½Π΅Ρ ΠΈ ΠΎΠ½ΠΎ ΡΠΌΡΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ, ΡΠ΅ΠΏΠ΅ΡΡ ΡΡ Π·Π½Π°Π΅ΡΡ(ΠΈ Ρ ΡΠΎΠΆΠ΅ 🙂 ) ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΡΠΊΠΈ 😉
ΠΡΠ΅ ΠΊΠ°ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠΈΡΠ°ΡΠ° ΠΈΠ· Wiki: Β«ΠΠ°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π² Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π·Π²ΡΡΠ½ΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Β«Boost operatorsΒ».Β»
Suslik
> ΠΠ±ΡΡΡΠ½ΠΈΡΠ΅ ΠΏΠΎΠΆΠ°Π»ΡΡΠ°, ΡΠΎΠ³Π΄Π° ΡΠ΅ΠΌ ΡΡΠΎ Π»ΡΡΡΠ΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ:
Π ΡΠ΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΠΈΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π ΡΠ΅ΡΠ΅Π· 10 ΠΌΠΈΠΊΡΠΈΠ½ (ΠΊΠ»Π°ΡΡ Π). ΠΡΠΎ ΡΠΆΠ΅ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ. Π ΠΏΠΎΡΠΎΠΌ Π² ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠ΅ΠΌΡΡ ΠΊΠ»Π°ΡΡΠ΅ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈ ΠΎΠ΄Π½Ρ ΠΌΠΈΠΊΡΠΈΠ½Ρ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠ»Π°ΡΡ Π. ΠΡΠ»ΠΈ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡΡ β ΠΎΡ ΠΏΡΠΎΡΠ»ΠΎΠΉ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΎΡΡΠ°Π½ΡΡΡΡ Β«ΠΊΡΡΠΊΠΈΒ» (Π΄Π°Π½Π½ΡΠ΅, ΠΌΠ΅ΡΠΎΠ΄Ρ). ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° β Π²Π½ΠΎΠ²Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡΡΡ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π ΠΈ ΡΠ½ΠΎΠ²Π° ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ 10 ΠΌΠΈΠΊΡΠΈΠ½ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ Ρ ΠΊΠ»Π°ΡΡΠ° Π ΠΈ Π ΡΡΠΎΡ Π½Π°Π±ΠΎΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ Π»ΠΈΡΡ Π½Π° ΠΎΠ΄Π½Ρ ΠΌΠΈΠΊΡΠΈΠ½Ρ. ΠΡΠΎ ΠΈΠ· ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΠ³ΠΎ.
ΠΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°ΠΌΠΈ Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ, Π΄Π° ΠΈ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΈΠ±ΡΠ΅ ΠΈ ΡΠ΄ΠΎΠ±Π½Π΅ΠΉ.
ΠΠΠΠΠΠΠΠΠ’ΠΠ¦ΠΠ―
ΠΠΠΠΠΠΠΠΠ’ΠΠ¦ΠΠ― (ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠ°Π²Π°) (Π°Π½Π³Π». implementation) β ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΡΡΠ² Π½Π° Π²Π½ΡΡΡΠΈΠ³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΏΡΡΠ΅ΠΌ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎ-ΠΏΡΠ°Π²ΠΎΠ²ΡΡ Π½ΠΎΡΠΌ Π² Π½Π°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π·Π°ΠΊΠΎΠ½Ρ ΠΈ ΠΏΠΎΠ΄Π·Π°ΠΊΠΎΠ½Π½ΡΠ΅ Π°ΠΊΡΡ. Π ΡΡΠ΄Π΅ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ² ΡΠ°ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΠ΅ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΡΠ°ΡΡΡΡ Π½Π°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΊΠΎΠ½ΠΎΠ΄Π°ΡΠ΅Π»ΡΡΡΠ²Π°. Π’Π°ΠΊ, Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Ρ. 4 ΡΡ. 15 ΠΠΎΠ½ΡΡΠΈΡΡΡΠΈΠΈ Π Π€ ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ·Π½Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΈ Π½ΠΎΡΠΌΡ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠ°Π²Π° ΠΈ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΠ΅ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΡ Π Π€ ΡΠ²Π»ΡΡΡΡΡ ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΡΠ°ΡΡΡΡ Π΅Π΅ ΠΏΡΠ°Π²ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠ»ΠΈ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΠΌ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠΎΠΌ Π Π€ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΠΈΠ½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ Π·Π°ΠΊΠΎΠ½ΠΎΠΌ, ΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ°.
Π‘ΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΠΠΠΠΠΠΠΠ’ΠΠ¦ΠΠ― Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ»ΠΎΠ²Π°ΡΡΡ :
ΠΠΠΠΠΠΠΠΠ’ΠΠ¦ΠΠ―
(ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠ°Π²Π°) (Π°Π½Π³Π». implementation) β ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΡΡΠ² Π½Π° Π²Π½ΡΡΡΠΈΠ³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΏΡΡΠ΅ΠΌ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈ. ΡΠΌΠΎΡΡΠ΅ΡΡ
ΠΠΠΠΠΠΠΠΠ’ΠΠ¦ΠΠ―
ΠΠΠΠΠΠΠΠΠ’ΠΠ¦ΠΠ―
1) ΠΡΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π·Π°ΠΏΠΈΡΡ ΡΠ»ΠΎΠ²Π°: ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ2) Π£Π΄Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ»ΠΎΠ²Π΅: ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ`Π°ΡΠΈΡ3) ΠΠ΅Π»Π΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π° Π½Π° ΡΠ»ΠΎΠ³ΠΈ (ΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΡΠ»ΠΎΠ²Π°): ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ4) Π€ΠΎΠ½Π΅ΡΠΈΡΠ΅ΡΠΊΠ°. ΡΠΌΠΎΡΡΠ΅ΡΡ
ΠΠΠΠΠΠΠΠΠ’ΠΠ¦ΠΠ―
(Π°Π½Π³Π». implementation)Π² ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠΌ ΠΏΡΠ°Π²Π΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΡΡΠ² Π½Π° Π²Π½ΡΡΡΠΈΠ³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅; ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΡΡΠ°. ΡΠΌΠΎΡΡΠ΅ΡΡ
ΠΠΠΠΠΠΠΠΠ’ΠΠ¦ΠΠ―
(ΠΠΠΠΠ£ΠΠΠ ΠΠΠΠΠΠ ΠΠ ΠΠΠ) (Π°Π½Π³Π». implementation)- ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΡΡΠ² Π½Π° Π²Π½ΡΡΡΠΈΠ³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅; ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎ-ΠΏΡΠ°Π²ΠΎΠ²ΡΡ Π½ΠΎΡΠΌ Π² Π½Π°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π·Π°ΠΊΠΎΠ½Ρ ΠΈ ΠΏΠΎΠ΄Π·Π°ΠΊΠΎΠ½Π½ΡΠ΅ Π°ΠΊΡΡ. Π ΡΡΠ΄Π΅ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ² ΡΠ°ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΠ΅ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΡΠ°ΡΡΡΡ Π½Π°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΊΠΎΠ½ΠΎΠ΄Π°ΡΠ΅Π»ΡΡΡΠ²Π°. Π’Π°ΠΊ, Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΡ. 15 ΠΠΎΠ½ΡΡΠΈΡΡΡΠΈΠΈ Π Π€ Π² Π Π€ ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ·Π½Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΈ Π½ΠΎΡΠΌΡ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠ°Π²Π° ΠΈ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΠ΅ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΡ Π Π€ ΡΠ²Π»ΡΡΡΡΡ ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΡΠ°ΡΡΡΡ Π΅Π΅ ΠΏΡΠ°Π²ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠ»ΠΈ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΠΌ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠΎΠΌ Π Π€ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΠΈΠ½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ Π·Π°ΠΊΠΎΠ½ΠΎΠΌ, ΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ°. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅.
Π€Π΅Π΄Π΅ΡΠ°Π»ΡΠ½ΡΠΌ Π·Π°ΠΊΠΎΠ½ΠΎΠΌ Β«Π ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ°Ρ Π ΠΎΡΡΠΈΠΉΡΠΊΠΎΠΉ Π€Π΅Π΄Π΅ΡΠ°ΡΠΈΠΈΒ» ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
ΠΠΠΠΠΠΠΠΠ’ΠΠ¦ΠΠ―
ΠΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ (ΠΎΡ Π»Π°Ρ. impleo Π½Π°ΠΏΠΎΠ»Π½ΡΡ, ΠΈΡΠΏΠΎΠ»Π½ΡΡ) ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²ΠΎΠΌ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΡ ΠΏΡΠ°Π²ΠΎΠ²ΡΡ Π½ΠΎΡΠΌ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²ΠΎ ΡΠ°ΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π». ΡΠΌΠΎΡΡΠ΅ΡΡ
ΠΠΠΠΠΠΠΠΠ’ΠΠ¦ΠΠ―
ΠΠΠΠΠΠΠΠΠ’ΠΠ¦ΠΠ―
ΠΠΠΠΠΠΠΠΠ’ΠΠ¦ΠΠ― (ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠ°Π²Π°) (Π°Π½Π³Π». implementation) β ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΡ
ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΡΡΠ² Π½Π° Π²Π½ΡΡΡΠΈΠ³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΏΡΡΠ΅ΠΌ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎ-ΠΏΡΠ°Π²ΠΎΠ²ΡΡ
Π½ΠΎΡΠΌ Π² Π½Π°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π·Π°ΠΊΠΎΠ½Ρ ΠΈ ΠΏΠΎΠ΄Π·Π°ΠΊΠΎΠ½Π½ΡΠ΅ Π°ΠΊΡΡ. Π ΡΡΠ΄Π΅ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ² ΡΠ°ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΠ΅ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΡΠ°ΡΡΡΡ Π½Π°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΊΠΎΠ½ΠΎΠ΄Π°ΡΠ΅Π»ΡΡΡΠ²Π°. Π’Π°ΠΊ, Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Ρ. 4 ΡΡ. 15 ΠΠΎΠ½ΡΡΠΈΡΡΡΠΈΠΈ Π Π€ ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ·Π½Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΈ Π½ΠΎΡΠΌΡ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠ°Π²Π° ΠΈ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΠ΅ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΡ Π Π€ ΡΠ²Π»ΡΡΡΡΡ ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΡΠ°ΡΡΡΡ Π΅Π΅ ΠΏΡΠ°Π²ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠ»ΠΈ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΠΌ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠΎΠΌ Π Π€ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΠΈΠ½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ Π·Π°ΠΊΠΎΠ½ΠΎΠΌ, ΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ°.
Π‘ΠΈΠ½ΠΎΠ½ΠΈΠΌΡ:
ΠΠΠΠΠΠΠΠΠ’ΠΠ¦ΠΠ―
Π£Π΄Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ»ΠΎΠ²Π΅: ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ`Π°ΡΠΈΡΠ£Π΄Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°Π΄Π°Π΅Ρ Π½Π° Π±ΡΠΊΠ²Ρ: Π°ΠΠ΅Π·ΡΠ΄Π°ΡΠ½ΡΠ΅ Π³Π»Π°ΡΠ½ΡΠ΅ Π² ΡΠ»ΠΎΠ²Π΅: ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ`Π°ΡΠΈΡ
ΠΠΠΠΠΠΠΠΠ’ΠΠ¦ΠΠ―
ΠΠΠΠΠΠΠΠΠ’ΠΠ¦ΠΠ―
ΠΎΡ Π»Π°Ρ. Impleo β Π½Π°ΠΏΠΎΠ»Π½ΡΡ, ΠΈΡΠΏΠΎΠ»Π½ΡΡ) β ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²ΠΎΠΌ Π½ΠΎΡΠΌ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΡΡ Π² Π°ΠΊΡΠ°Ρ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠ°Π²Π°. ΠΠ°ΠΆΠ΄ΠΎΠ΅ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²ΠΎ ΡΠ°ΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. Π ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΈΠ·Π΄Π°Π½ΠΈΡ Π·Π°ΠΊΠΎΠ½Π° ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ Π°ΠΊΡΠ° Π΄Π»Ρ Π΅Π³ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΡ. ΡΠΌΠΎΡΡΠ΅ΡΡ
ΠΠΠΠΠΠΠΠΠ’ΠΠ¦ΠΠ―
ΠΎΡ Π»Π°Ρ. impleo Π½Π°ΠΏΠΎΠ»Π½ΡΡ, ΠΈΡΠΏΠΎΠ»Π½ΡΡ) ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²ΠΎΠΌ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΡ ΠΏΡΠ°Π²ΠΎΠ²ΡΡ Π½ΠΎΡΠΌ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²ΠΎ ΡΠ°ΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. Π ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΈΠ·Π΄Π°Π½ΠΈΡ Π·Π°ΠΊΠΎΠ½Π° ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ Π°ΠΊΡΠ° Π΄Π»Ρ Π΅Π³ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΡ. ΡΠΌΠΎΡΡΠ΅ΡΡ
ΠΠΠΠΠΠΠΠΠ’ΠΠ¦ΠΠ―
Rzeczownik ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ f Informatyczny implementacja f