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

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

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

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

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

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½ΠΎΠ΅ Π²Ρ‹ΡˆΠ΅ описаниС абстрактных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΏΠΎΠ»Π½Π΅ достаточно для использования АВД Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. (Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ упраТнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ вашС ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ этого понятия).

Если ΠΆΠ΅, ΠΊΠ°ΠΊ я надСюсь, АВД ΡƒΠΆΠ΅ Π·Π°Π²ΠΎΠ΅Π²Π°Π»ΠΈ вас своСй ΡΠ»Π΅Π³Π°Π½Ρ‚Π½ΠΎΡΡ‚ΡŒΡŽ, простотой ΠΈ ΠΌΠΎΡ‰ΡŒΡŽ, Ρ‚ΠΎ Π½Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ захочСтся ΡƒΠ·Π½Π°Ρ‚ΡŒ побольшС ΠΎΠ± ΠΈΡ… свойствах, Π΄Π°ΠΆΠ΅ ΠΎ Ρ‚Π°ΠΊΠΈΡ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² обсуТдСнии ОО-ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Π”Π°Π»Π΅Π΅ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… страницах рассмотрСны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ:

[x]. Π½Π΅ΡΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈ Π΅Π΅ связь с процСссом конструирования ПО;

[x]. Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ спСцификациСй ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ;

[x]. Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ классами ΠΈ записями;

[x]. Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ использованию частичных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ;

[x]. Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ ΠΏΠΎΠ»Π½ΠΎΡ‚Π΅ ΠΈΠ»ΠΈ Π½Π΅ΠΏΠΎΠ»Π½ΠΎΡ‚Π΅ спСцификации.

БиблиографичСскиС ссылки ΠΊ этой Π»Π΅ΠΊΡ†ΠΈΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ ΠΏΠΎ АВД.

Π•Ρ‰Π΅ Ρ€Π°Π· ΠΎ нСявности

НСявная ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π° абстрактных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ классов, рассмотрСнная Π²Ρ‹ΡˆΠ΅, ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ конструирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π’ΠΏΠΎΠ»Π½Π΅ Π·Π°ΠΊΠΎΠ½Π΅Π½ вопрос ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎΠΉ спСцификациСй АВД, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅ΠΉ объявлСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ


x: POINT REAL

y: POINT REAL


ΠΈ объявлСниСм Ρ‚ΠΈΠΏΠ° Π² Ρ‚Π°ΠΊΠΎΠΌ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠΌ языкС программирования, ΠΊΠ°ΠΊ Pascal:


type

POINT =

record

x, y: real

end


На ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд эти Π΄Π²Π° объявлСния ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ эквивалСнтными: ΠΎΠ±Π° ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ с Ρ‚ΠΈΠΏΠΎΠΌ POINT связаны Π΄Π²Π° значСния x ΠΈ y Ρ‚ΠΈΠΏΠ° REAL. Но ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ имССтся сущСствСнная, хотя ΠΈ тонкая Ρ€Π°Π·Π½ΠΈΡ†Π°:

[x]. Π—Π°ΠΏΠΈΡΡŒ Π² языкС Pascal являСтся Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½ΠΎΠΉ ΠΈ явной: ΠΎΠ½Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ POINT Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π΄Π²Π° Π΄Π°Π½Π½Ρ‹Ρ… поля ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΊΡ€ΠΎΠΌΠ΅ Π½ΠΈΡ….

[x]. ОбъявлСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ АВД Π½Π΅ нСсут Ρ‚Π°ΠΊΠΎΠ³ΠΎ смысла. Они ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° POINT ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΎ значСниях Π΅Π³ΠΎ x ΠΈ y, Π½ΠΎ Π½Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… запросов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎ массС ΠΈ скорости Ρ‚ΠΎΡ‡ΠΊΠΈ Π² кинСматичСском ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

Π‘ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎΠΉ матСматичСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π²Ρ‹ΡˆΠ΅ объявлСниС Π² ПаскалС являСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ матСматичСского мноТСства POINT ΠΊΠ°ΠΊ Π΄Π΅ΠΊΠ°Ρ€Ρ‚ΠΎΠ²Π° произвСдСния:


POINT REAL Γ— REAL,


Π³Π΄Π΅ Π·Π½Π°ΠΊ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ "опрСдСляСтся ΠΊΠ°ΠΊ" ("Ρ€Π°Π²Π½ΠΎ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ"), ΠΈ ΠΎΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°Π΄Π°Π΅Ρ‚ POINT. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ этого спСцификация АВД Π½Π΅ опрСдСляСт явно POINT посрСдством Ρ‚Π°ΠΊΠΎΠΉ матСматичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠ°ΠΊ Π΄Π΅ΠΊΠ°Ρ€Ρ‚ΠΎΠ²ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΎΠ½Π° просто нСявно Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΠ΅Ρ‚ POINT, пСрСчисляя Π΄Π²Π° запроса, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹Ρ… ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ этого Ρ‚ΠΈΠΏΠ°.

Если ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ спСцификации Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ понятия, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Π΅ ΠΈΠ· нСявного ΠΌΠΈΡ€Π° Π² явный, идСнтифицируя понятиС с Π΄Π΅ΠΊΠ°Ρ€Ρ‚ΠΎΠ²Ρ‹ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹Ρ… ΠΊ Π½Π΅ΠΌΡƒ простых запросов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ захочСтся ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΠΈ с ΠΏΠ°Ρ€Π°ΠΌΠΈ <x, y>. Π’Π°ΠΊΠΎΠΉ процСсс ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΎΡ‚ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ спСцификации ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π‘ΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ спСцификации ΠΈ проСктирования

ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ наблюдСниС ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ… вопросов, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ ПО: Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ этапом Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ПО - Π΅Π³ΠΎ спСцификациСй, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ, - ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΠΌΠΈ стадиями Ρ‚Π°ΠΊΠΈΠΌΠΈ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ рСализация.

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

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π²Ρ‹ΡˆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ: ΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡ΡŒ Π ΡƒΠ±ΠΈΠΊΠΎΠ½ ΠΌΠ΅ΠΆΠ΄Ρƒ спСцификациСй ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ - это ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΎΡ‚ нСявного ΠΊ явному, Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами:

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅: ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ Π°Π½Π°Π»ΠΈΠ·Π° (спСцификации) ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ

ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΎΡ‚ спСцификации ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ - это ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡŽ с Π΄Π΅ΠΊΠ°Ρ€Ρ‚ΠΎΠ²Ρ‹ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π΅Π΅ простых запросов.

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

Π‘ΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ классов ΠΈ записСй

Π”Ρ€ΡƒΠ³ΠΈΠΌ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ свойством ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ нСявныС описания Π³ΠΎΡ€Π°Π·Π΄ΠΎ дольшС, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ…. Π’ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… лСкциях Π±ΡƒΠ΄Π΅Ρ‚ Π²Π²Π΅Π΄Π΅Π½Π° систСма ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ класс Π² Π²ΠΈΠ΄Π΅:


class POINT feature

x, y: REAL

end


Π­Ρ‚ΠΎ выглядит ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ Π½Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π²Ρ‹ΡˆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ записи Π² ПаскалС. Но, нСсмотря Π½Π° внСшнСС сходство, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ класса Π΄Ρ€ΡƒΠ³ΠΎΠ΅ - ΠΎΠ½ΠΎ нСявноС! Π­Ρ‚Π° Π½Π΅ΡΠ²Π½ΠΎΡΡ‚ΡŒ проявляСтся ΠΏΡ€ΠΈ наслСдовании: Π°Π²Ρ‚ΠΎΡ€ класса ΠΈΠ»ΠΈ (Ρ‡Ρ‚ΠΎ Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ интСрСсно) ΠΊΡ‚ΠΎ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ класс, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


class MOVING_POINT inherit

POINT

feature

mass: REAL

velocity: VECTOR [REAL]

end


ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ исходный класс ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ способом. Π’ΠΎΠ³Π΄Π° пСрСмСнная (ΠΈΠ»ΠΈ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π²ΠΎΠ΄ΠΈΠΌΡƒΡŽ Π΄Π°Π»Π΅Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡŽ) Ρ‚ΠΈΠΏΠ° POINT, объявлСнная ΠΊΠ°ΠΊ


p1: POINT


ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ связана с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΈΠΏΠ° POINT, Π½ΠΎ ΠΈ с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠΌ этого Ρ‚ΠΈΠΏΠ°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Ρ‚ΠΈΠΏΠ° MOVING_POINT. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ, Π² частности, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ "ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½Ρ‹Ρ… присваиваний" Π²ΠΈΠ΄Π°:


p1 := mp1

Π³Π΄Π΅ mp1 ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ MOVING_POINT.


Π­Ρ‚ΠΈ возмоТности ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ Π½Π΅ΡΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΡΡ‚ΡŒ опрСдСлСния класса: ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ экзСмпляры ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ Π² ΡƒΠ·ΠΊΠΎΠΌ смыслС, Ρ‚. Π΅. нСпосрСдствСнно экзСмпляры класса POINT, Π½ΠΎ ΠΈ экзСмпляры всякого класса, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ понятия, Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΈΠ· исходного класса.

Π‘ΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ элСмСнты ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ (классы), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ (посрСдством наслСдования), ΠΎΡΡ‚Π°Π²Π°ΡΡΡŒ нСявными, являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, нСпосрСдствСнно ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚-Π—Π°ΠΊΡ€Ρ‹Ρ‚. Π’ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… лСкциях Π±ΡƒΠ΄ΡƒΡ‚ раскрыты всС Π²Ρ‹Ρ‚Π΅ΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΈΠ· Π½Π΅Π΅ слСдствия.

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ частичным функциям

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