Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠžΡΠ½ΠΎΠ²Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 43

Автор Π‘Π΅Ρ€Ρ‚Ρ€Π°Π½ ΠœΠ΅ΠΉΠ΅Ρ€

МоТно Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡ‚ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ АВД выраТСния, нарисовав ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ нСсколько Ρ‚Π°ΠΊΠΈΡ… рисунков. (Π—Π΄Π΅ΡΡŒ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ x4). Но тСория позволяСт Π½Π°ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ этот Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ рисункам, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ примСняя аксиомы для упрощСния выраТСния, Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° дальнСйшСС ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ станСт Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ. НапримСр:

[x]. ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ A2 для упрощСния s3 - Ρ‚. Π΅. Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ remove(put (put (put (s1, x1), x2), x3)) Π½Π° Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ put (put (s1, x1), x2)). (Богласно A2 Π²ΡΡΠΊΡƒΡŽ ΠΏΠ°Ρ€Ρƒ remove-put ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ).

Рис. 6.5.  ΠœΠ°Π½ΠΈΠΏΡƒΠ»ΡΡ†ΠΈΠΈ со стСком

[x]. По Ρ‚ΠΎΠΉ ΠΆΠ΅ аксиомС s6 Ρ€Π°Π²Π½ΠΎ put(s4, x4) . Π—Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ аксиому A1 ΠΈ вывСсти, Ρ‡Ρ‚ΠΎ y1, Ρ‚. Π΅. item(put(s4, x4)) Π½Π° самом Π΄Π΅Π»Π΅ Ρ€Π°Π²Π½ΠΎ x4, установив Ρ‚Π΅ΠΌ самым (ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ стрСлкой Π½Π° рисункС), Ρ‡Ρ‚ΠΎ s7 получаСтся Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ вталкивания x4 Π½Π° Π²Π΅Ρ€Ρ‰ΠΈΠ½Ρƒ стСка s3.

И Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΡ… ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠΉ, выполнСнная мСханичСски Ρ‚Π°ΠΊ ΠΆΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠΉ Π² элСмСнтарной Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠ΅, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ выраТСния stackexp, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π²Π½ΠΎ x4 (ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ это сами, Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎ провСдя вСсь процСсс упрощСния).

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ позволяСт ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π²Π°ΠΆΠ½Π΅ΠΉΡˆΠΈΡ… тСорСтичСских Ρ€ΠΎΠ»Π΅ΠΉ абстрактных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…: ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ модСль для понятий ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚Π° модСль чисто матСматичСская: Π² Π½Π΅ΠΉ Π½Π΅Ρ‚ ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… понятий состояния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… с измСняСмыми Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ значСниями, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ выполняСмых дСйствий. Она основана Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… матСматичСских ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… прСобразования Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

ΠžΡ‚ абстрактных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΊ классам

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

ΠšΠ»Π°ΡΡΡ‹

Π’ поискС, Π½Π°Ρ‡Π°Ρ‚ΠΎΠΌ Π² Π»Π΅ΠΊΡ†ΠΈΠΈ 3, АВД Π±ΡƒΠ΄ΡƒΡ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ нСпосрСдствСнной основой ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Π’ΠΎΡ‡Π½Π΅Π΅, ОО-систСма Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒΡΡ (Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π°Π½Π°Π»ΠΈΠ·Π°, проСктирования ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ) ΠΊΠ°ΠΊ ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ…, частично ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… АВД. ОсновноС понятиС здСсь - класс:

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅: класс

Класс - это абстрактный Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, снабТСнный Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ частичной) Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ класс, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ АВД ΠΈ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ. АВД - это матСматичСскоС понятиС, Π° рСализация - это Π΅Π³ΠΎ вСрсия, ориСнтированная Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ рСализация ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ частичной. Π’Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ этот случай ΠΎΡ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ класса:

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅: ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΈ эффСктивный классы

ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ класс называСтся эффСктивным (effective). Класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ лишь частично ΠΈΠ»ΠΈ совсСм Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½, называСтся ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ (deferred). Всякий класс являСтся Π»ΠΈΠ±ΠΎ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ, Π»ΠΈΠ±ΠΎ эффСктивным.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ эффСктивный класс, трСбуСтся ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС Π΄Π΅Ρ‚Π°Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Для ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ класса ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ аспСкты Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΌΠΈ. Π’ самом ΠΊΡ€Π°ΠΉΠ½Π΅ΠΌ случаС ΠΏΡ€ΠΈ частичной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ принятия ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΎ Π΅Π΅ ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠΈ. Π’ этом случаС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉΡΡ класс Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ эквивалСнтСн АВД.

Как ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ эффСктивный класс

Рассмотрим Π²Π½Π°Ρ‡Π°Π»Π΅ эффСктивныС классы. Π§Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ АВД? Π Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ эффСктивный класс Π±ΡƒΠ΄Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠ· элСмСнтов Ρ‚Ρ€Π΅Ρ… Π²ΠΈΠ΄ΠΎΠ²:

[x]. (E1) Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ АВД (мноТСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ аксиомами ΠΈ прСдусловиями, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ ΠΈΡ… свойства).

[x]. (E2) Π’Ρ‹Π±ΠΎΡ€Π° прСдставлСния.

[x]. (E3) ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ· мноТСства Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (E1) Π² прСдставлСниС (E2) Π² Π²ΠΈΠ΄Π΅ мноТСства ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² (ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (features)), ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… прСдставлСния ΠΈ ΠΏΡ€ΠΈ этом удовлСтворяСт аксиомам ΠΈ прСдусловиям. МногиС ΠΈΠ· этих ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ - ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌΠΈ, Π½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π² качСствС ΠΏΠΎΠ»Π΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ "Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ²" (это Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… лСкциях).

НапримСр, для АВД STACK ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π² качСствС прСдставлСния (шаг E2) Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π½Π°Π·Π²Π°Π½Π½ΠΎΠ΅ Π²Ρ‹ΡˆΠ΅ ΠœΠΠ‘Π‘Π˜Π’_Π’Π’Π•Π Π₯, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ стСк рСализуСтся ΠΏΠ°Ρ€ΠΎΠΉ


<representation, count>,


Π³Π΄Π΅ representation - это массив, Π° count - это Ρ†Π΅Π»ΠΎΠ΅ число. ΠŸΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (E3) Ρƒ нас Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ put, remove, item, empty ΠΈ new, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия. НапримСр, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ put ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Π²ΠΈΠ΄Π°


put (x: G)

is -- Π’Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒ x Π² стСк.

-- (Π±Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ стСка Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.)

do

count := count + 1

representation [count]:= x

end


ОбъСдинСниС элСмСнтов, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π² ΠΏΡƒΠ½ΠΊΡ‚Π°Ρ… (E1), (E2) ΠΈ (E3), ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ классу - ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΉ структурС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.

Роль ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… классов

Π’ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ эффСктивного класса Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ полная информация ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ E2 ΠΈ E3). Если ΠΎΠ½Π° Ρ…ΠΎΡ‚ΡŒ Π² Ρ‡Π΅ΠΌ-Ρ‚ΠΎ Π½Π΅ΠΏΠΎΠ»Π½Π°, Ρ‚ΠΎ класс являСтся ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ.

Π§Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ "ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ" являСтся класс, Ρ‚Π΅ΠΌ ΠΎΠ½ Π±Π»ΠΈΠΆΠ΅ ΠΊ АВД, ΠΎΠ΄Π΅Ρ‚ΠΎΠΌΡƒ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΠ΄Π΅ΠΆΠ΄Ρƒ, которая скорСС ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²ΠΎΠ΅Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ·Π½Π°Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ПО, Ρ‡Π΅ΠΌ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΎΠ². ΠžΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ классы особСнно ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ:

[x]. ΠŸΡ€ΠΈ ОО-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ аспСкты Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… свойствах высокого уровня - Π½Π° Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ обСспСчиваСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ систСмы, Π° Π½Π΅ Π½Π° Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ это Π΄Π΅Π»Π°Π΅Ρ‚.

[x]. ΠŸΡ€ΠΈ постСпСнном ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒΡΡ всС Π½ΠΎΠ²Ρ‹Π΅ ΠΈ Π½ΠΎΠ²Ρ‹Π΅ Π΅Π΅ свойства Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ эффСктивный класс.

Но Π½Π° этом Ρ€ΠΎΠ»ΡŒ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… классов Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ, Π΄Π°ΠΆΠ΅ Π² ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ систСмС ΠΌΠΎΠΆΠ½ΠΎ часто ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Π°ΠΊΠΈΡ… классов. КоС-Ρ‡Ρ‚ΠΎ слСдуСт ΠΈΠ· Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ пСрСчислСнных ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ: ΠΊΠΎΠ³Π΄Π° ΠΈΠ· ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… классов ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ эффСктивныС, Ρ‚ΠΎ появляСтся ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡ… Π² качСствС ΠΏΡ€Π΅Π΄ΠΊΠΎΠ² (Π² смыслС наслСдования) эффСктивных классов ΠΊΠ°ΠΊ ΠΆΠΈΠ²ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΎ процСссС Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ проСктирования.

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

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

НСсколько ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π»Π΅ΠΊΡ†ΠΈΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… вводятся основныС ОО-ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π±ΡƒΠ΄ΡƒΡ‚ сосрСдоточСны Π½Π° эффСктивных классах. Но ΠΏΡ€ΠΈ этом слСдуСт ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ понятии ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ класса, Ρ‡ΡŒΡ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ расти ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ овладСния всСй ΠΌΠΎΡ‰ΡŒΡŽ ОО-ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

АбстрактныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ скрытиС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

ОсобСнно интСрСсным слСдствиСм ОО-ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ основаны Π½Π° рСализациях АВД (классах), являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π΄Π°Π΅Ρ‚ ясный ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° вопрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ остался Π½Π΅Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΈ обсуТдСнии скрытия ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ: ΠΊΠ°ΠΊ Π½Π°ΠΌ слСдуСт Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ общСдоступныС ΠΈ скрытыС свойства модуля - Π²ΠΈΠ΄ΠΈΠΌΡƒΡŽ ΠΈ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡƒΡŽ части айсбСрга?

Рис. 6.6.  ΠΠ’Π” Π²ΠΈΠ΄ модуля ΠΏΡ€ΠΈ скрытии ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

Если ΠΌΠΎΠ΄ΡƒΠ»ΡŒ являСтся классом, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌ ΠΈΠ· АВД, Ρ‚ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ ясСн. Из Ρ‚Ρ€Π΅Ρ… частСй, Π²ΠΎΠ²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹Ρ… Π² эту ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΡŽ, E1- спСцификация АВД, являСтся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ, Π° E2 ΠΈ E3 - Π²Ρ‹Π±ΠΎΡ€ прСдставлСния ΠΈ рСализация Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ АВД Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… этого прСдставлСния - Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ (сСкрСтными). Когда ΠΌΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ классы, Ρ‚ΠΎ столкнСмся Π΅Ρ‰Π΅ с Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ, Ρ‚Π°ΠΊΠΆΠ΅ сСкрСтной, - Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ свойствами, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… Π½ΡƒΠΆΠ΄ этих ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.