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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈ распрСдСлСнноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π‘++Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 96

Автор Π₯ьюз ΠšΠ°ΠΌΠ΅Ρ€ΠΎΠ½

Визуализация структур

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

‒ классов, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², шаблонов, процСссов ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²;

β€’Β ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Β«Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅Β».

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ систСмы элСмСнты ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ физичСскими.

ΠšΠ»Π°ΡΡΡ‹ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹

Класс β€” это ΠΌ ΠΎ Π΄ Сль Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ конструкции, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽ Ρ‰ Сйся ΠΎΠΏΡ€Π΅ Π΄ Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΌ ΠΈ ΠΈ ΠΏΠΎΠ²Π΅ Π΄ Π΅Π½ΠΈΠ΅ ΠΌ. Π­Ρ‚ΠΎ β€” описаниС ΠΌ ноТСства понятий ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ ΠΎΠ± Ρ‰ ΠΈ ΠΌ ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΌ ΠΈ. Класс β€” это Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎ ΠΌ ΠΏΠΎΠ½Π΅Π½Ρ‚ любо ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ ΠΉ систС ΠΌ Ρ‹. ΠšΠ»Π°ΡΡΡ‹ ΠΌ ΠΎΠΆΠ½ΠΎ ΠΈ ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ ля ΠΏΡ€Π΅ Π΄ ставлСния Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ…, ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ…, Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎ Π³ Ρ€Π° ΠΌΠΌ Π½Ρ‹Ρ… конструкци ΠΉ. Для ΠΏΡ€Π΅ Π΄ ставлСния классов, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Π²Π·Π°ΠΈ ΠΌ ΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ су Ρ‰ Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈ ΠΌ ΠΈ Π² ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈ/ΠΈΠ»ΠΈ распрСдСлСнной систС ΠΌ Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° класса (class diagram). Π”ΠΈΠ° Π³ Ρ€Π° ΠΌ ΠΌΠ° класса позволяСт ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ услу Π³ ΠΈ, прСдоставляС ΠΌ Ρ‹Π΅ классом, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎ Π³ раничСния, Π½Π°Π»Π° Π³ Π°Π΅ ΠΌ Ρ‹Π΅ Π½Π° способ связи этих классов/ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Π―Π·Ρ‹ΠΊ UML содСрТит срСдства для графичСского прСдставлСния класса. Для ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π³ΠΎ изобраТСния класса достаточно Π½Π°Ρ‡Π΅Ρ€Ρ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° Π½Π΅ΠΌ имя класса. ΠŸΡ€ΠΈ использовании Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ говорят, Ρ‡Ρ‚ΠΎ это простоС гшя. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ класса ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ услуги. прСдоставляСмыС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ этого класса (ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, выполняСмыС этим классом). Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ отобраТаСтся с трСмя Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ отдСлСниями. Π’ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ΠΈΠΈ записываСтся простоС имя класса, Π² срСднСм β€” Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, Π° Π² Π½ΠΈΠΆΠ½Π΅ΠΌ β€” ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π Π°Π·Π΄Π΅Π»Ρ‹ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ словами Β«Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹Β» ΠΈ Β«ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΒ» соотвСтствСнно. Имя класса Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² любом случаС, Π° Ρ€Π°Π·Π΄Π΅Π» Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ β€” ΠΏΠΎ нСобходимости. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ссли Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² (Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ), Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ отобраТаСтся пустым. Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы прСдставлСния класса ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π½Π° рис. 10.1.

Рис. 10.1. Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы прСдставлСния класса

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

Ино Π³ Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Ρ я Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слуТит для описания обязанностСй класса. Он Ρ€Π°Π· ΠΌ Π΅ Ρ‰ аСтся ΠΏΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»ΠΎ ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡƒΡ‰Π΅Π½. Под обязанностями класса ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΅ΠΌΡƒ Π½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ. ΠžΠ±ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΠΈ класса ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Β«Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π½Ρ‹Π΅Β» прСдлоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π°Π½ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹. Атрибуты Ρ‚Ρ€Π°Π½ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ…, Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ β€” Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ). Π­Ρ‚ΠΎΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ словом «обязанности». ΠžΠ±ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΠΈ класса student_schedule ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π»ΠΎΠΆΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Β«Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ расписаниС для студСнта Π½Π° любой дСнь Π½Π΅Π΄Π΅Π»ΠΈ ΠΏΡ€ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π½ΠΎΠΌΠ΅Ρ€Π΅ студСнта, Π³ΠΎΠ΄Π΅ ΠΈ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π΅ расписания». ΠžΠ±ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΠΈ класса ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ тСкста, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ каТдая ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ прСдставляСтся Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΊΠ°ΠΊ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π°Π±Π·Π°Ρ†.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ класса ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΈΠ»ΠΈ экзСмпляр класса. Как ΠΈ ΠΏΡ€ΠΈ использовании класса, ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π΅ прСдставлСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° состоит Π² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΠΎΠ΅ имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’Π΅ΠΌ самым указываСтся ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ экзСмпляр класса. Π˜ΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ экзСмпляр класса ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π΅ΠΌ класса ΠΈΠ»ΠΈ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· Π½Π΅Π³ΠΎ.

mySchedule Β ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ экзСмпляр

mySchedule: student_schedule Β ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ экзСмпляр с ΠΈΠΌΠ΅Π½Π΅ΠΌ класса

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ извСстно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая Π΅Π³ΠΎ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚, Ρ‚ΠΎ Π² систСмной Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Π΅ экзСмпляры классов. Анонимный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

:student_schedule

Π’Π°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ обозначСния ΠΌ ΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ ΠΌ Π² случаС, ΠΊΠΎΠ³Π΄Π° Π² систС ΠΌ Π΅ сущСствуСт нСсколько экзС ΠΌ пляров класса. НСсколько экзС ΠΌ пляров класса ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ двумя способами: Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Π² Π²ΠΈΠ΄Π΅ классов.

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ экзСмпляров, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ класс, называСтся ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ экзСмпляров класса (ΠΎΡ‚ нуля Π΄ΠΎ бСсконСчности) ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌ ΠΌ Π΅ класса. Класс с Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ количСством экзСмпляров являСтся чистым абстрактным классом. Он Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, явно объявлСнного с использованиСм этого Ρ‚ΠΈΠΏΠ°. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ экзСмпляров ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ниТнюю ΠΈ Π²Π΅Ρ€Ρ…Π½ΡŽΡŽ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ класса. На рис. 10.2 ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ обозначСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… экзСмпляров класса Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ класса (с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ графичСских срСдств ΠΈΠ»ΠΈ значСния мноТСствСнности).

На рис. 10.2 ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ класса student_schedule ΡƒΠΊΠ°Π·Π°Π½Π° ΠΊΠ°ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ 1..7 , Π° это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ наимСньшСС количСство расписаний Π² нашСй систСмС Ρ€Π°Π²Π½ΠΎ 1, Π° наибольшСС β€” 7. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Π΅Ρ‰Π΅ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² обозначСния мноТСствСнности класса.

1 Один экзСмпляр

1..n ΠžΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ числа n.

1.. * ΠžΡ‚ ΠΎΠ΄Π½ΠΎ Π³ ΠΎ Π΄ΠΎ бСсконСчности

0..1 ΠžΡ‚ нуля Π΄ΠΎ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹

0 *ΠžΡ‚ нуля Π΄ΠΎ бСсконСчности

* БСсконСчноС количСство экзСмпляров

БСзусловно, бСсконСчноС количСство экзСмпляров Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ объСмом Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΠΈΠ»ΠΈ внСшнСй памяти.

Рис. 10.2. ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… экзСмпляров класса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ графичСских срСдств ΠΈ значСния мноТСствСнности

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°Ρ… ΠΈ опСрациях класса

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° класса ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°Ρ… иопСрациях класса. Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ/ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (Ссли ΠΎΠ½ΠΎ прСдусмотрСно) для класса ΠΈ значСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². НапримСр, Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, содСрТащиСся Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² класса student_schedule, ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄.

StudentNumber : string;

Term : string

StudentSchedule : map <string,vector<course> >

ScheduleIterator : map <string,vector<course> >::iterator

Для oбъeΠΊΡ‚a mySchedule эти Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ значСния.

StudentNumber : string = Β«102933Β»

Term:string = Β«SpringΒ»

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΈ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ‚ΠΈΠΏΠΎΠ² Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… ΠΈΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

studentSchedule(&X : map <string,vector<course> >) : void