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

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

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

‒ конструктор ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ;

‒ дСструктор;

‒ конструктор ΠΊΠΎΠΏΠΈΠΈ;

β€’Β ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ присваивания;

β€’Β ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сопоставлСния Π½Π° равСнство;

β€’Β ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°;

β€’Β ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ;

β€’Β ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ запросов.

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

Атрибуты:

β€’ static

β€’ const

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ:

β€’ virtual

β€’ pure virtual

β€’ friend

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ слСдуСт ΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠ°Π» ΠΈΠ· Π½ΠΈΡ… Π»ΡƒΡ‡ΡˆΠ΅ всСго описываСт услуги, прСдоставляСмыС классом. Имя ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ справа ΠΈ слСва Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π²Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΡƒΠ³Π»ΠΎΠ²Ρ‹Π΅ скобки (Β«. . .Β»). На рис. 10.3 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π΄Π²Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… способа ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ для класса student_schedule, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ…: символы видимости ΠΈ спСцификаторы доступа (рис. 10.3, Π°) ΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ минимально-гостандартного интСрфСйса (рис. 10.3, Π±).

Рис. 10.3. Π”Π²Π° способа ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ класса

Π¨Π°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ классы

Π¨Π°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ класс прСдставляСт собой ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ класса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ. Π¨Π°Π±Π»ΠΎΠ½ опрСдСляСт дСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π°Π΄ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΌ Π΅ΠΌΡƒ Ρ‚ΠΈΠΏΠΎΠΌ. Π’ Π‘++ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ класс создаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова template.

template <class Type > classname { . . . } ;

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π’ΡƒΡ€Π΅ прСдставляСт любой Ρ‚ΠΈΠΏ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ встроСнный Π‘++-Ρ‚ΠΈΠΏ ΠΈΠ»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ класс. ΠŸΡ€ΠΈ объявлСнии ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π’ΡƒΡ€Π΅ шаблон связываСтся с элС ΠΌ Π΅Π½Ρ‚ΠΎ ΠΌ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΌ Π΅ΠΌΡƒ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. НапримСр, класс student_schedule Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ map, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° course для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ дня Π½Π΅Π΄Π΅Π»ΠΈ. Как класс map, Ρ‚Π°ΠΊ ΠΈ класс vector ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΌΠΈ, map <string,vector<course> > StudentSchedule;

ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ map ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ для ΠΊΠ»ΡŽΡ‡Π° Ρ‚ΠΈΠΏ string, Π° для значСния β€” Ρ‚ΠΈΠΏ vector. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ vector содСрТит ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π³ ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ ΠΌ Ρ‚ΠΈΠΏΠ° course. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ map ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ соотвСтствиС ΠΌΠ΅ΠΆΠ΄Ρƒ значСниями Π΄Π²ΡƒΡ… Π»ΡŽΠ±Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ vector ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ значСния любого Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ….

map <int, vector <string> > БоотвСтствиС ΠΌ Π΅ΠΆΠ΄Ρƒ число ΠΌ ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎ ΠΌ строк

map <int, string> >  БоотвСтствиС ΠΌ СТлучисло ΠΌ истрокой

vector <student_schedule> Β Π’Π΅ΠΊΡ‚ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² класса student_schedule

vector <map <int,string> > Π’Π΅ΠΊΡ‚ΠΎΡ€ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ соотвСтствиС ΠΌΠ΅ΠΆΠ΄Ρƒ числом ΠΈ строкой

Π¨Π°Π±Π»ΠΎΠ½Π½Ρ‹Π΅ классы Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ прСдставляСтся ΠΊΠ°ΠΊ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ (мСньшСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π°), Π½Π°Ρ‡Π΅Ρ€Ρ‚Π°Π½Π½Ρ‹ΠΉ ΡˆΡ‚Ρ€ΠΈΡ…ΠΎΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ ΠΈ располоТСнный Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° класса. Π¨Π°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ класс ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ связанным ΠΈΠ»ΠΈ нСсвязанным. ΠŸΡ€ΠΈ прСдставлСнии нСсвязанного шаблонного класса Π² ΡˆΡ‚Ρ€ΠΈΡ…ΠΎΠ²ΠΎΠΌ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ΅ отобраТаСтся прописнал Π±ΡƒΠΊΠ²Π° T, ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π°Π» нСсвязанный ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ. Для прСдставлСния связанного шаблонного класса сущСствуСт Π΄Π²Π° способа. Один ΠΈΠ· Π½ΠΈΡ… состоит Π² использовании символа класса, содСрТащСго синтаксис Π‘++ для объявлСния ΠΈ связывания шаблонного класса, Π½Π°ΠΏΡ€ΠΈ ΠΌ Π΅Ρ€: vector <string>

Π­Ρ‚ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ называСтся нСявным связываниСм. Π’ Π΄Ρ€Ρƒ Π³ ΠΎ ΠΌ способС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ стСрСотип зависи ΠΌ ости bind (ΡΠ²ΡΠ·Π°Ρ‚ΡŒ). Π­Ρ‚ΠΎΡ‚ стСрСотип Π·Π°Π΄Π°Π΅Ρ‚ источник, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ класс посрСдство ΠΌ использования Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Π³ ΠΎ ΠΏΠ°Ρ€Π° ΠΌ Π΅Ρ‚Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎ Π³ ΠΎ Ρ‚ΠΈ ΠΏΠ°. Π­Ρ‚ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ называСтся явным связываниСм. Π¨Π°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ являСтся Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ шаблонно Π³ ΠΎ класса. Он ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΌ зависи ΠΌ ости с ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΌ классом. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стСрСотипа ΡΠ²ΡΠ·Π°Ρ‚ΡŒ указываСтся ΠΈ ΠΌ я ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°-Ρ‚ΠΈΠΏΠ°. Π’ ΡˆΡ‚Ρ€ΠΈΡ…ΠΎΠ²ΠΎΠΌ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π¨Π°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ шаблонно Π³ ΠΎ класса. Π”Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈ я β€” это ΠΎΠ±Ρ‰ΠΈΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½, ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π±ΠΎΠ»Π΅Π΅ высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ прСдставлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ сущСствуСт. Π‘Ρ‚Π΅Ρ€Π΅ΠΎΡ‚ΠΈΠΏΠ½Ρ‹ΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Β«ΡΠ²ΡΠ·Π°Ρ‚ΡŒΒ» Π΄Π΅Ρ‚Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ класс посрСдством Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Бпособы прСдставлСния шаблонного класса для ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° map прСдставлСны Π½Π° рис. 10.4.

Рис. 10.4. Бпособы прСдставлСния связанного ΠΈ нСсвязанного шаблонного класса

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ классами ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ

Π―Π·Ρ‹ΠΊ UML опрСдСляСт Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ классами:

‒ зависимости;

‒ обобщСния;

‒ ассоциации.

Π—Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ опрСдСляСт ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π²Ρƒ ΠΌ я класса ΠΌ ΠΈ. Если ΠΎΠ΄ΠΈΠ½ класс зависит ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΠ· ΠΌ Π΅Π½Π΅Π½ΠΈΠ΅, внСсСнноС Π² нСзависимый класс, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° зависимый ΠΎΡ‚ Π½Π΅Π³ΠΎ класс. ΠžΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅β€” это ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ±Ρ‰Π΅ΠΉ конструкциСй ΠΈ Π±ΠΎ Π» Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ ΠΌ Ρ‚ΠΈΠΏΠΎ ΠΌ этой конструкции. Под ΠΎΠ± Ρ‰ Π΅ΠΉ конструкциСй подразумСваСтся Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ класс (ΠΈΠ»ΠΈ супСркласс), Π° ΠΏΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ ΠΌ Π΅Π΅ Ρ‚ΠΈΠΏΠΎ ΠΌβ€” сыновний класс (ΠΈΠ»ΠΈ подкласс). ΠŸΠΎΡ‚ΠΎ ΠΌ ΠΎΠΊ наслСлуСт свойства, Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ родитСля ΠΈ ΠΌ ΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈ это ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ собствСнныС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π‘Ρ‹Π½ΠΎΠ²Π½ΠΈΠΉ класс выводится ΠΈΠ· Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ, ΠΈ Π΅Π³ΠΎ ΠΌ ΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС замСнитСля Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса. Класс, Π½Π΅ ΠΈ ΠΌ Сю Ρ‰ ΠΈΠΉ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ (ΠΏΡ€Π΅Π΄ΠΊΠΎΠ²), называСтся ΠΊΠΎΡ€Π½Π΅Π²Ρ‹ΠΌ, ΠΈΠ»ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ классом. Ассоциация β€” это структурноС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° связаны с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Ассоциации ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π΄Π²ΡƒΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹. НапримСр, Ссли ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ 1 связан с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ 2, Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ 2 связан с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ 1 Ассоциация ΠΌΠ΅ΠΆΠ΄Ρƒ двумя элСмСнтами (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, класса ΠΌ ΠΈ) называСтся Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ связью, Π° ΠΌΠ΅ΠΆΠ΄Ρƒ nэ Π» Π΅ ΠΌ Π΅Π½Ρ‚Π° ΠΌ ΠΈ β€” n-Π°Ρ€Π½ΠΎΠΉ.

Π—Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ, ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΈ Π°ΡΡΠΎΡ†ΠΈΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ классификации ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ сущСствуСт мноТСство Ρ‚ΠΈΠΏΠΎΠ² зависимостСй, ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠΉ ΠΈ ассоциаций, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ. КаТдал классификация ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ собствСнный символ прСдставлСния. Π’Π°ΠΊΠΈΠΌ символом являСтся ΠΎΡ‚Ρ€Π΅Π·ΠΎΠΊ прямой (Π½Π°Ρ‡Π΅Ρ€Ρ‚Π°Π½Π½Ρ‹ΠΉ сплошной ΠΈΠ»ΠΈ ΠΏΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ) ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ²Π΅Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ стрСлкой Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Для Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ опрСдСлСния ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΈ прямых ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ стСрСотипами ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ обозначСниями (Β«ΡƒΠΊΡ€Π°ΡˆΠ΅Π½ΠΈΡΠΌΠΈΒ»). Π‘Ρ‚Π΅Ρ€Π΅ΠΎΡ‚ΠΈΠΏ β€” это ΠΌΠ΅Ρ‚ΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ описания UML-элСмСнта. Он прСдставляСтся Π² Π²ΠΈΠ΄Π΅ ΠΈΠΌΠ΅Π½ΠΈ, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π² ΡƒΠ³Π»ΠΎΠ²Ρ‹Π΅ скобки, ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ Π½Π°Π΄ элСмСнтом ΠΈΠ»ΠΈ рядом с Π½ΠΈΠΌ. НапримСр, Π½Π° рис. 10.4 для описания шаблонного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° стСрСотип

<<bind>> (<<ΡΠ²ΡΠ·Π°Ρ‚ΡŒ>>)

Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ рядом со стрСлкой, которая ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Под Β«ΡƒΠΊΡ€Π°ΡˆΠ΅Π½ΠΈΡΠΌΠΈΒ» ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ тСкстовыС ΠΈΠ»ΠΈ графичСскиС элСмСнты, добавляСмыС ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ элСмСнта ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для докумСнтирования свСдСний ΠΎ спСцификации элСмСнта. НапримСр, ассоциация отобраТаСтся Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° сплошной Π»ΠΈΠ½ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами. АгрСгированиС β€” это Ρ‚ΠΈΠΏ ассоциации, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Β«Ρ†Π΅Π»ΠΎΠ΅-Ρ‡Π°ΡΡ‚ΡŒΒ». Для отобраТСния агрСгирования ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΡ‚Ρ€Π΅Π·ΠΎΠΊ сплошной Π»ΠΈΠ½ΠΈΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½Π΅Ρ† (ΠΏΡ€ΠΈΠ»Π΅Π³Π°ΡŽΡ‰ΠΈΠΉ ΠΊ Β«Ρ†Π΅Π»ΠΎΠΌΡƒΒ» элСмСнту) вСнчаСтся ΠΏΠΎΠ»Ρ‹ΠΌ Ρ€ΠΎΠΌΠ±ΠΎΠΌ.