Вы находитесь на странице: 1из 12

1 Àáñòðàêòíûå òèïû äàííûõ. Ìåòîäîëîãèÿ ïðîãðàììèðîâàíèÿ.

1.Ïðîöåäóðíîå ïðîãðàììèðîâàíèå
Ïðîãðàììà èìååò ïðîñòóþ ñòðóêòóðó - ïîäïðîãðàììà, ìàíèïóëèðóþùàÿ
ñòðóêòóðàìè è ïåðåìåííûìè â îáùåé îáëàñòè âèäèìîñòè.
2. Ìîäóëüíîå ïðîãðàììèðîâàíèå
3. Îáúåêòíî-îðèåíòèðîâàííîå ïðîãðàììèðîâàíèå.

Àáñòðàêöèÿ ïîäðàçóìåâàåò ðàçäåëåíèå è íåçàâèñèìîå ðàññìîòðåíèå èíòåðôåéñà


è ðåàëèçàöèè.
Àáñòðàêòíûé òèï äàííûõ - ñîâîêóïíîñòü äàííûõ âìåñòå ñ ìíîæåñòâîì
îïåðàöèé, êîòîðîå ìîæíî âûïîëíèòü íàä ýòèìè äàííûìè.
ÎÎÏ - ýòî ìåòîäîëîãèÿ ïðîãðàììèðîâàíèÿ, êîòîðàÿ îñíîâàíà íà ïðåäñòàâëåíèè
ïðîãðàììû â âèäå ñîâîêóïíîñòè îáúåêòîâ, êàæäûé èç êîòîðûõ ÿâëÿåòñÿ ðåàëèçàöèåé
îïðåäåëåííîãî êëàññà, à êëàññû îïðåäåëÿþò èåðàðõèþ íà ïðèíöèïàõ íàñëåäîâàíèÿ.

2 Îñíîâíûå ïîíÿòèÿ ÎÎÏ.

Áàçîâûìè ïîíÿòèÿìè ÿâëÿþòñÿ îáúåêòû è êëàññû.


Îáúåêò - ÷àñòü îêðóæàþùåé íàñ ðåàëüíîñòè. Ôîðìàëüíî îïðåäåëèòü îáúåêò
äîâîëüíî òðóäíî, ýòî ìîæíî ñäåëàòü ÷åðåç åãî ñâîéñòâà, ïîâåäåíèå. Òàêæå
îáúåêò ìîæíî óíèêàëüíî èäåíòèôèöèðîâàòü.
Êëàññ - ìíîæåñòâî îáúåêòîâ, èìåþùèõ îáùèå ñâîéñòâà è ïîâåäåíèå. Êëàññ
- ýòî îïèñàíèå, êîòîðîå ïîêàçûâàåò, êàê ïîñòðîèòü ñóùåñòâóþùóþ âî âðåìåíè
è ïðîñòðàíñòâå ïåðåìåííóþ ýòîãî êëàññà (îáúåêò).
Ñâîéñòâà îáúåêòà îïðåäåëÿþòñÿ åãî ïîëÿìè äàííûõ. Ïîâåäåíèå îáúåêòà
îïðåäåëÿåò åãî ðåàêöèþ íà ïîñòóïàþùèå ñîîáùåíèÿ. Îïðåäåëÿåòñÿ ïîñðåäñòâîì
ìåòîäîâ.
Èäåíòèôèêàöèÿ îáúåêòà - ñâîéñòâî, ïîçâîëÿþùåå îòëè÷èòü åãî îò äðóãèõ
îáúåêòîâ, îñóùåñòâëÿþùåãî ïîñðåäñòâîì èõ óíèêàëüíîãî èìåíè ïåðåìåííûõ,
õðàíÿùåãî íîìåð îáúåêòà.
Ïðîöåäóðíûé è ìîäóëüíûé ïîäõîä ïîçâîëÿþò ñòðîèòü ïðîãðàììû, ñîñòîÿùèå
èç íàáîðà ïðîöåäóð è ðåàëèçóþùèõ çàäàííûå àëãîðèòìû.
ÎÎ ïîäõîä ïðåäñòàâëÿåò ïðîãðàììû â âèäå íàáîðà îáúåêòîâ, âçàèìîäåéñòâóþùèõ
ìåæäó ñîáîé. Âçàèìîäåéñòâèå îáúåêòîâ îñóùåñòâëÿåòñÿ ïîñðåäñòâî ïåðåäà÷è
ñîîáùåíèé.
Áàçîâûé ïðèíöèï ÎÎÏ
Èíêàïñóëÿöèÿ ïðåäïîëàãàåò ñîåäèíåíèå â îäíîì îáúåêòå äàííûõ è ôóíêöèé,
êîòîðûå ìàíèïóëèðóþ ýòèìè äàííûìè.
Äîñòóï ê íåêîòîðûì äàííûì âíóòðè îáúåêòà ìîæåò áûòü çàïðåùåí ëèáî
îãðàíè÷åí.
Äàííûå íàçûâàþòñÿ ïàìÿòüþ îáúåêòà, à àëãîðèòìû, õàðàêòåðèçóþùèå
ãî ïîâåäåíèå - ìåòîäàìè.

1
Íàñëåäîâàíèå - îòíîøåíèå ìåæäó îáúåêòàìè, êîãäà îäèí îáúåêò ïîâòîðÿåò
ñâîéñòâà è ïîâåäåíèå äðóãîãî.
Òèïû âåðõíèõ óðîâíåé ÎÎ èåðàðõèè êàê ïðàâèëî íå èìåþò êîíêðåòíûõ
ðåàëèçàöèé. Òàêèå òèïû íàçûâàþòñÿ àáñòðàêòíûìè.
Íàñëåäîâàíèå ïîçâîëÿåò èñïîëüçîâàòü áèáëèîòåêè êëàññîâ è ìîäèôèöèðîâàòü
èõ â çàâèñèìîñòè îò ðàçëè÷íûõ çàäà÷, ò.å. ñîçäàâàòü íîâûå êëàññû, èçìåíÿÿ
èëè äîïîëíÿÿ óæå ñóùåñòâóþùèå. Îáúåêò - íàñëåäíèê ïîëó÷àåò âñå ïîëÿ
è ìåòîäû îáúåêòà - ïðåäêà, íî ìîæåò çàïîëíèòü èõ ñîáñòâåííûìè ïîëÿìè è
ìåòîäàìè.
Ïîëèìîðôèçì ïîçâîëÿåò èñïîëüçîâàòü îäíè è òå æå ôóíêöèè äëÿ ðåøåíèÿ
ðàçíûõ çàäà÷. Ïîä îäíèì èìåíåì ñêðûâàþòñÿ ðàçëè÷íûå äåéñòâèÿ, ñîäåðæàíèå
êîòîðûõ çàâèñèò îò òèïà îáúåêòà.
 ðàìêàõ ÎÎÏ ïîâåäåíèå îáúåêòà îïðåäåëÿåòñÿ âõîäÿùèìè â íåãî ìåòîäàìè.
Ìåíÿÿ àëãîðèòì òîãî èëè äðóãîãî ìåòîäà â ïîòîìêàõ îáúåêòà ìîæíî ïðèäàâàòü
ïîòîìêàì îòñóòñòâóþùèå è ðîäèòåëåé ñïåöèôè÷íûå ñâîéñòâà.

3 Îáúåêòû è êëàññû â ÿçûêå Object Pascal


Êëàññ - òèï äàííûõ, ïîýòîìó èñïîëüçóåòñÿ êëþ÷åâîå ñëîâî type
hèìÿ_êëàññài = class [(èìÿêëàññàïðåäêà)]
...
end;
Ðàçëè÷àþò ñëåäóþùèå ýëåìåíòû êëàññà
1. Ïîëÿ

2. Ìåòîäû
3. Ñâîéñòâà

Ïîëå - ôèçè÷åñêè õðàíèìûé â ýêçåìïëÿðå êëàññà ýëåìåíò êëàññà.


Ïîëÿ îòíîñÿòñÿ ê îïèñàòåëüíîé ÷àñòè êëàññà è îïèñûâàþòñÿ àíàëîãè÷íî
ïîëÿì çàïèñåé.
hèìÿïîëÿi : hòèïäàííûõi
TPoint = class
x,y : real;
end;
Ìåòîä - ýòî îïèñàííàÿ âíóòðè êëàññà è ñâÿçàííàÿ ñ ýêçåìïëÿðîì êëàññà
ïðîöåäóðà èëè ôóíêöèÿ.
Îïèñàííàÿ ñîâîêóïíîñòü ìåòîäîâ îòðàæàåò ïîâåäåíèå ýêçåìïëÿðà êëàññà.
Ìåòîäà êëàññèôèöèðóþòñÿ
1. êîíñòðóêòîðû - ñîçäàþò â ïàìÿòè è èíèöèàëèçèðóþò îáúåêò

2. äåñòðóêòîðû - îñâîáîæäàþò ïàìÿòü, çàíèìàåìóþ îáúåêòîì.


3. ìîäèôèêàòîðû - èçìåíÿþò ñîñòîÿíèå îáúåêòà

2
ñåëåêòîðû - âîçâðàùàþò íåêîòîðóþ õàðàêòåðèñòèêó îáúåêòà
4.

5. èòåðàòîðû - îðãàíèçóþò äîñòóï ê ÷àñòÿì êëàññà â îïðåäåëåííîì ïîðÿäêå

Ìåòîäû- åäèíñòâåííûõ ýëåìåíò êëàññà, ó êîòîðîãî ïðèñóòñòâóåò êàê äåêëàðàòèâíàÿ


÷àñòü, òàê è ðåàëèçàöèÿ.
Äåêëàðàòèâíàÿ ÷àñòü ìåòîäà íàõîäèòñÿ âíóòðè îïèñàíèÿ êëàññà è ïî ñâîåìó
ñèíòàêñèñó íå îòëè÷àåò îò îïèñàíèÿ ëþáûõ äðóãèõ ôóíêöèé.

4 Êîíñòðóêòîð è äåñòðóêòîð

Îáúÿâëåíèå êîíñòðóêòîðîâ íà÷èíàåòñÿ ñ êëþ÷åâîãî ñëîâà constructor, äåñòðóêòîðîâ


- ñ êëþ÷åâîãî ñëîâà destructor, ïîñëå êîòîðîãî ñëåäóåò èìÿ è ñïèñîê ïàðàìåòðîâ.
Íåñìîòðÿ íà òî, ÷òî ó êîíñòðóêòîðà îòñóòñòâóåò âîçâðàùàåìîå çíà÷åíèå,
îí ÿâëÿåòñÿ ôóíêöèåé è â äåéñòâèòåëüíîñòè âîçâðàùàåò ýêçåìïëÿð òîãî êëàññà,
ê êîòîðîìó îòíîñèòñÿ.
Âñåì äðóãèì ìåòîäàì â êà÷åñòâå íåÿâíîãî ïàðàìåòðà ïåðåäàåòñÿ ññûëêà
íà ñàì îáúåêò. Ýòîò ïàðàìåòð íàçûâàåòñÿ self.
Ëþáîé îáúåêò ÿâëÿåòñÿ íàñëåäíèêîì TObject. Â ýòîì êëàññå îïðåäåëåíû
ìåòîäû create & destroy, à ñëåäîâàòåëüíî ýòè ìåòîäû ïðèñóòñòâóþò â ëþáîì
êëàññå.
Äëÿ îñâîáîæäåíèÿ ïàìÿòè, çàíèìàåìîé îáúåêòîì, íóæíî èñïîëüçîâàòü
ìåòîä Free.
Äëÿ ñîçäàíèÿ îáúåêòà èëè ýêçåìïëÿðà êëàññà íóæíî âûçâàòü êîíñòðóêòîð.
Âûçîâ êîíñòðóêòîðà ìîæåò ïðîèñõîäèòü äâóìÿ ñïîñîáàìè: ÷åðåç èìÿ êëàññà
è ÷åðåç èìÿ îáúåêòà.
Ïðè âûçîâå êîíñòðóêòîðà ÷åðåç èìÿ êëàññà ïðîèñõîäèò âûäåëåíèå ïàìÿòè
äëÿ îáúåêòà è åãî èíèöèàëèçàöèÿ.
Ïðè âûçîâå êîíñòðóêöèè ÷åðåç èìÿ îáúåêòà ïîäðàçóìåâàåòñÿ, ÷òî ïàìÿòü
ïîä íåãî áûëà âûäåëåíà ðàíåå è îáúåêò ïåðåèíèöèàëèçèðóåòñÿ.
Ðåàëèçàöèÿ ìåòîäà ðàñïîëîæåíà â ðàçäåëå implementation ìîäóëÿ.

5 Îñíîâíûå ïðåèìóùåñòâà ÎÎÏ:

1. Åñòåñòâåííîñòü
2. Íàäåæíîñòü
3. Ïîâòîðíîå èñïîëüçîâàíèå êîäà
4. Ñïîñîáíîñòü ê ðàñøèðåíèþ
5. Óäîáñòâî ìîäèôèêàöèè ïðîãðàììíîãî îáåñïå÷åíèÿ.

3
6 Èíêàïñóëÿöèÿ

Èíêàïñóëÿ´öèÿ — ñâîéñòâî ÿçûêà ïðîãðàììèðîâàíèÿ, ïîçâîëÿþùåå îáúåäèíèòü


äàííûå è êîä â îáúåêò è ñêðûòü ðåàëèçàöèþ îáúåêòà îò ïîëüçîâàòåëÿ. Ïðè
ýòîì ïîëüçîâàòåëþ ïðåäîñòàâëÿåòñÿ òîëüêî ñïåöèôèêàöèÿ (èíòåðôåéñ) îáúåêòà.
Ïîëüçîâàòåëü ìîæåò âçàèìîäåéñòâîâàòü ñ îáúåêòîì òîëüêî ÷åðåç ýòîò èíòåðôåéñ.
Èíêàïñóëÿöèÿ — îäèí èç ÷åòûðåõ âàæíåéøèõ ìåõàíèçìîâ îáúåêòíî-îðèåíòèðîâàííîãî
ïðîãðàììèðîâàíèÿ (íàðÿäó ñ àáñòðàêöèåé, ïîëèìîðôèçìîì è íàñëåäîâàíèåì).
 ÎÎÏ âûäåëÿþò 2 ñòîðîíû: èíòåðôåéñ è ðåàëèçàöèþ.
Èíòåðôåéñ - äåêëàðàòèâíàÿ ÷àñòü êëàññà, îïèñûâàþùàÿ âíåøíåìó ìèðó
åãî õàðàêòåðèñòèêè è ïîâåäåíèå.
 object pascal âûäåëÿþò òðè óðîâíÿ:
public - îáùåäîñòóïíûé èíòåðôåéñ
protected - ýëåìåíòû êëàññà äîñòóïíû òîëüêî íàñëåäíèêàì äàííîãî êëàññà
private - çàêðûòûé èíòåðôåéñ äîñòóïà, äîñòóïåí òîëüêî âíóòðè ìîäóëÿ, â
êîòîðîì åñòü êëàññ.

7 Ñâîéñòâà

Ñâîéñòâà - ëîãè÷åñêè ïðèñóòñòâóþùèå â ýëåìåíòå êëàññà ýëåìåíòû äàííûõ.


Îíè ìîãóò ñîîòâåòñòâîâàòü ôèçè÷åñêîìó õðàíèëèùó (ïîëþ), à ìîãó áûòü
ïåðåñòàâëåíû ìåòîäîì.
property hèìÿñâîéñòâài [hñïèñîêèíäåêñîâi] : hòèïñâîéñòâài [index höåëàÿ_êîíñòàíòài] hñïåöèôèêàòîð
Çàðåçåðâèðîâàííîå ñëîâî property îïðåäåëÿåò íà÷àëî îïèñàíèÿ ñâîéñòâà.
Èìÿ ñâîéñòâà - êîððåêòíûé èäåíòèôèêàòîð â ïðåäñòàâëåíèè êëàññà.
Òèï ñâîéñòâà ìîæåò áûòü ïðîèçâîëüíûì, êðîìå ôàéëîâîãî.
Ó ñâîéñòâà îáÿçàí áûòü õîòÿ áû îäèí èç ñïåöèôèêàòîðîâ read, write.
Ñïåöèôèêàòîð read óêàçûâàåò ñïîñîá ÷òåíèÿ çíà÷åíèÿ èç ñâîéñòâà, à write
óêàçûâàåò íà ñïîñîá çàïèñè çíà÷åíèÿ â ñâîéñòâî.
Õîðîøèì ñòèëåì â ÎÎÏ ÿâëÿåòñÿ çàêëþ÷åíèå âñåõ ïîëåé â çîíó private
èëè protected, à äëÿ òåõ, ê êîòîðûõ íóæåí äîñòóï èçâíå, ñîçäàâàòü ñâîéñòâà.
Êëàññèôèêàöèÿ ñâîéñòâ:
Ñâîéñòâà ðàçäåëÿþòñÿ
1. Ïî ìåòîäó äîñòóïà ê ïîëþ

2. Ïî èñïîëüçîâàíèþ èíäåêñîâ
3. Ïî òèïó äàííûõ

Ïî äîñòóïó ðàçäåëÿþòñÿ íà:


1. Ïîëíûé äîñòóï

2. Òîëüêî äëÿ ÷òåíèÿ


3. Òîëüêî äëÿ çàïèñè

4
Ïî èíäåêñèðîâàíèþ ðàçäåëÿþòñÿ íà:
1. Ïðîñòûå ñâîéñòâà

2. Ñâîéñòâà -ìàññèâû
3. Ñâîéñòâà ñî ñïåöèôèêàòîðîì èíäåêñà

Ïðîñòûå ñâîéñòâà
Ïðîñòûå ñâîéñòâà ïîçâîëÿþò ðàáîòàòü êàê íåïîñðåäñòâåííî ñ ïåðåìåííûìè,
òàê è ñ ïîìîùüþ ñîîòâåòñòâóþùèõ ìåòîäîâ.
Åñëè ïðîñòûå ñâîéñòâà ðàáîòàþò ñ ïîëÿìè äàííûõ íàïðÿìóþ òèï ýòèõ
ñâîéñòâ äîëæåí ñîâïàäàòü ñ òèïàìè ïîëåé.
 ñïåöèôèêàòîðå read è write óêàçûâàþòñÿ ñîîòâåòñòâóþùèå ïîëÿ äàííûõ.
Ïðè ðàáîòå ñ ïîëÿìè äàííûõ ïîñðåäñòâîì âûçîâîì ìåòîäîâ ñïåöèôèêàòîðîì
read è write óêàçûâàþòñÿ ñîîòâåòñòâóþùèå ìåòîäû.
Ìåòîä ÷òåíèÿ - ôóíêöèÿ áåç ïàðàìåòðîâ ñ âûõîäíûìè çíà÷åíèÿìè, ñîîòâåòñòâóþùèõ
òèïó ïîëÿ äàííûõ.
Ìåòîä çàïèñè - ïðîöåäóðà ñ îäíèì ïàðàìåòðîì, òèï ýòîãî ïàðàìåòðà ñîîòâåòñòâóåò
òèïó äàííûõ ïîëÿ.

8 Ñâîéñòâà - ìàññèâû
Íàëè÷èå ñïèñêà èíäåêñíûõ ïàðàìåòðîâ, êîòîðûå ïåðå÷èñëÿþòñÿ â êâàäðàòíûõ
ñêîáêàõ.
Ïðÿìîå óêàçàíèå èäåíòèôèêàòîðîâ ïîëÿ çàïðåùåíî.
Ìåòîä ÷òåíèÿ - ôóíêöèÿ, ó êîòîðîé êîëè÷åñòâî, òèïû è ïîðÿäîê ïàðàìåòðîâ
ñîîòâåòñòâóåò èíäåêñó ïàðàìåòðà ñâîéñòâà.
Âîçâðàùàåìîå çíà÷åíèå ôóíêöèè äîëæíî ñîâïàäàòü ñ òèïîì ñâîéñòâà.
Ìåòîä çàïèñè - ýòî ïðîöåäóðà, ó êîòîðîé êîëè÷åñòâî, òèïû è ïîðÿäîê
íà÷àëüíûõ ïàðàìåòðîâ ñîîòâåòñòâóåò îïèñàíèþ èíäåêñíûõ ïàðàìåòðîâ. Êðîìå
òîãî, â ñïèñêå ïàðàìåòðîâ äîëæåí ïðèñóòñòâîâàòü îäèí äîïîëíèòåëüíûé ïàðàìåòð
òàêîãî æå òèïà, êàê è ó ñâîéñòâà äëÿ ïåðåäà÷è íîâîãî çíà÷åíèÿ.
Òèï èíäåêñîâ è ñâîéñòâà-ìàññèâà ìîæåò áûòü ëþáûì, íå îáÿçàòåëüíî ïîðÿäêîâûì.
Îòëè÷èÿ ñâîéñòâ ìàññèâà îò ïåðåìåííûõ òèïà “ìàññèâ”.
1. Îáðàùåíèå ê ñâîéñòâó ìàññèâîâ êàê ê åäèíîìó öåëîìó íå äîïóñêàåòñÿ.
Ðàçðåøèìû äåéñòâèÿ òîëüêî ê îòäåëüíûì ýëåìåíòàì.
2. Òèï èíäåêñîâ ñâîéñòâ ìàññèâà ìîæåò áûòü ëþáûì, íå òîëüêî ïîðÿäêîâûì.
Åñëè äàííûé êëàññ ïðåäñòàâëÿåòñÿ ìàññèâîì è íåîáõîäèìî îáåñïå÷èòü ê ýòèì
äàííûì èçâíå êëàññà, èñïîëüçóþòñÿ ñâîéñòâà ìàññèâû. Ñâîéñòâà ìàññèâû
äîëæíû èìåòü ñòîëüêî èíäåêñíûõ ïàðàìåòðîâ, êàêîâà ðàçìåðíîñòü ìàññèâà,
äîñòóï ê êîòîðîìó îíè ðåàëèçóþò.
Èñïîëüçóÿ äèðåêòèâó default ñî ñâîéñòâîì ìàññèâîì ìîæíî óêàçàòü, êàêîå
èç ñâîéñòâ äàííîãî êëàññà èñïîëüçóåòñÿ ïî óìîë÷àíèþ.

5
9 Ñâîéñòâà ñî ñïåöèôèêàòîðîì èíäåêñà

read è write ìîæåò áûòü óêàçàíî òîëüêî äëÿ èäåíòè÷íûõ èíäåêñîâ


Ìåòîäû ÷òåíèÿ è çàïèñè ñâîéñòâà äîëæíû èìåòü äîïîëíèòåëüíûé ïàðàìåòð
òèïà integer äëÿ ïåðåäà÷è èíäåêñà.
 ìåòîäå ÷òåíèÿ äîïîëíèòåëüíûé èíäåêñíûé ïàðàìåòð äîëæåí áûòü ïîñëåäíèì
â ñïèñêå ïåðåäàâàåìûõ ïàðàìåòðîâ.
 ìåòîäå çàïèñè èíäåêñíûé ïàðàìåòð äîëæåí ïðåäøåñòâîâàòü ïàðàìåòðó,
îïðåäåëÿþùåìó ïàðàìåòð-ñâîéñòâî.
Ïðè îáðàùåíèè ê ñâîéñòâó èíäåêñà, îïðåäåëÿåòñÿ ñïåöèàëüíûé èíäåêñ,
àâòîìàòè÷åñêè ïåðåäàþùèé äîïîëíèòåëüíûé ïàðàìåòð â êà÷åñòâå ôàêòè÷åñêîãî
ïàðàìåòðà.
Êîíñòàíòà, ñòîÿùàÿ çà äèðåêòèâîé index, äîëæíà áûòü öåëîãî òèïà.

10 Ìîäóëè.

Èñïîëüçîâàíèå ìîäóëåé â ïðîãðàììå ïîçâîëÿåò óïðîñòèòü òåñòèðîâàíèå ïðîãðàììû,


ïðîöåññ íàõîæäåíèÿ îøèáîê è ïîâûñèòü ýôôåêòèâíîñòü íàïèñàíèÿ ïðîãðàìì,
òàê êàê ìîäóëè ìîãóò ìíîãîêðàòíî èçìåíÿòüñÿ íåçàâèñèìî äðóã îò äðóãà.
Êðîìå òîãî, ìîäóëè ïðîãðàììû ïðîùå äëÿ ïîíèìàíèÿ è ìîäóëè ìîãóò
èñïîëüçîâàòüñÿ êàê ñòðîèòåëüíûå áëîêè äëÿ äðóãèõ ïðîãðàìì.
×èñëî ìîäóëåé, ïîäêëþ÷àåìûõ èç äàííîãî ìîäóëÿ - ðàçìàõ ìîäóëÿ.
Î÷åíü ìàëåíüêèé ðàçìàõ íàðÿäó ñ î÷åíü áîëüøèì - ïðèçíàê ïëîõîãî ìîäóëüíîãî
ðàçáèåíèÿ.
 îáùåì ñëó÷àå, ðàçìàõ äîëæåí áûòü ìåíüøå 10.
Èñïîëüçîâàíèå è ðàçðàáîòêà ìîäóëåé ñðåäñòâàìè pascal.
Ïîäêëþ÷åíèå ñóùåñòâóþùèõ ìîäóëåé îñóùåñòâëÿåòñÿ ïóòåì óêàçàíèÿ èäåíòèôèêàòîðà
uses.
Ïðè ðàçðàáîòêå ñîáñòâåííîãî ìîäóëÿ íåîáõîäèìî ïîìíèòü ñëåäóþùèå ïðàâèëà.
Íå äîïóñêàåòñÿ îäíîâðåìåííîå èñïîëüçîâàíèå ìîäóëåé ñ îäèíàêîâûìè èäåíòèôèêàòîðàìè.
Èäåíòèôèêàòîð ìîäóëÿ, óêàçûâàåìûé ïîñëå äèðåêòèâû unit, äîëæåí ñîâïàäàòü
ñ èìåíåì ôàéëà èñõîäíîãî êîäà.
Ñòðóêòóðà ìîäóëÿ.
 èíòåðôåéñíîì ðàçäåëå îïèñûâàåòñÿ âçàèìîäåéñòâèå ìîäóëÿ ñ äðóãèìè
ìîäóëÿìè è îñíîâíîé ïðîãðàììîé, âçàèìîäåéñòâèå ìîäóëÿ ñ âíåøíèì ìèðîì.
Ñïèñîê èìïîðòà èíòåðôåéñíîãî ðàçäåëà.
Ñïèñîê ýêñïîðòà èíòåðôåéñíîãî ðàçäåëà.
Ðåàëèçàöèîííûé ðàçäåë. Óêàçûâàåò âíóòðåííþþ ñòðóêòóðó, íåäîñòóïíóþ
äðóãèì ìîäóëÿì.
Ñïèñîê ýêñïîðòà ðåàëèçàöèîííîãî ðàçäåëà.
Âíóòðè ðåàëèçàöèè äàííîãî ìîäóëÿ êîíñòàíòû, òèïû, ïåðåìåííûå è ïîäïðîãðàììû
íå ïðåäíàçíà÷åííûå äëÿ äîñòóïà èçâíå ìîäóëÿ. Òàêæå â ýòîì ðàçäåëå ïðîèçâîäèòñÿ
ðåàëèçàöèÿ ïðîöåäóð è ôóíêöèé, îïèñàííûõ â èíòåðôåéñíîì ðàçäåëå.
initialization
Ðàçäåë èíèöèàëèçàöèè ìîäóëÿ.

6
Îïåðàöèè äàííîãî ðàçäåëà âûïîëíÿþòñÿ îäèí ðàç ïðè çàãðóçêå ìîäóëÿ.
finilization
Îïåðàòîðû, íåîáõîäèìûå äëÿ êîððåêòíîãî çàâåðøåíèÿ ðàáîòû ìîäóëÿ.
íàïðèìåð free.
Âìåñòî ñåêöèé initialization è finilisation ìîæåò ñòîÿòü ïðîñòî begin.
Ìíîãîêðàòíîå èñïîëüçîâàíèå êîäà
Ñóùåñòâóåò äâà âèäà ïîâòîðíîãî èñïîëüçîâàíèÿ êîäà: èñïîëüçîâàíèå è
íàñëåäîâàíèå.
Èñïîëüçîâàíèå:
1. Îáúåêò îäíîãî êëàññà (èñïîëüçóåìîãî) ïðèñóòñòâóåò êàê ïîëå äàííûõ
äðóãîãî êëàññà.
2. Îáúåêò èñïîëüçóåìîãî êëàññà äîñòóïåí ãëîáàëüíî.

3. Îáúåêò èñïîëüçóåìîãî êëàññà ñîçäàåòñÿ â ðàìêàõ ðàáîòû äàííîãî êëàññà.


Èñïîëüçîâàíèå: áîëåå ñâîáîäíàÿ ôîðìà, ÷åì íàñëåäîâàíèå, îäíàêî íàñëåäîâàíèå
âî ìíîãèõ ñëó÷àÿõ áîëåå ýôôåêòèâíî, à òàêæå ïîçâîëÿåò ðåàëèçîâàòü ïîëèìîðôíîå
ïîâåäåíèå.

11 Íàñëåäîâàíèå

Íàñëåäîâàíèå - êîíöåïöèÿ ÎÎÏ, ïîçâîëÿþùàÿ îäíèì îáúåêòàì ïðèîáðåòàòü


àòðèáóòû è ïîâåäåíèå äðóãèõ.
 object pascal êëàññ ìîæåò èìåòü òîëüêî îäíîãî ïðåäêà, ìíîæåñòâåííîå
íàñëåäîâàíèå íå ïîääåðæèâàåòñÿ.
×òî íàñëåäóåòñÿ?
Âñå ýëåìåíòû ðîäèòåëüñêîãî êëàññà, îäíàêî òå èç íèõ, êîòîðûå áûëè îáúÿâëåíû
â ñåêöèè private, ïåðåñòàþò áûòü äîñòóïíûìè, çà èñêëþ÷åíèåì ñëó÷àÿ, êîãäà
îíè îáúÿâëåíû â îäíîì ìîäóëå.
Òåì íå ìåíåå, ôèçè÷åñêè ýòè ýëåìåíòû êëàññà ïðèñóòñòâóþò è äîñòóïíû
ññûëàþùèìñÿ íà íèõ.
 îòíîøåíèè äàëüíåéøåãî íàñëåäîâàíèÿ àòðèáóòû ñîõðàíÿþò ñâîþ îáëàñòü
âèäèìîñòè, åñëè îíà íå áûëà íàìè èçìåíåíà.

12 Ñîâìåñòèìîñòü ïî ïðèñâàèâàíèþ. Ïðåîáðàçîâàíèå


è ïðèâèäåíèå îáúåêòîâ.

 îòíîøåíèè ñîâìåñòèìîñòè ïî ïðèñâàèâàíèå êëàññû ïðîÿâëÿþò ñëåäóþùèå


ñâîéñòâà:
1. Ïåðåìåííàÿ îáúåêòà òèïà êëàññà ïðåäêà ìîæåò áûòü ïðèñâîåíà ïåðåìåííîé
êëàññà ïîòîìêà. Ïðè ýòîì ôîðìàëüíûé òèï ïåðåìåííîé ìîæåò íå ñîâïàäàòü
ñ ôàêòè÷åñêèì.

7
2. Ïåðåìåííóþ èìåþùóþ òèï ïîòîìêà íåëüçÿ ïðèñâàèâàòü ïåðåìåííîé
òèïà êëàññà ïðåäêà.
Îäíàêî, åñëè ôàêòè÷åñêèå òèïû ñîâïàäàþò, òî ïðèñâàèâàíèå âîçìîæíî îäíèì
èç äâóõ ñïîñîáîâ.
1. hòèïi (hîáúåêòi)
Îïåðàöèÿ íå ïðîâåðÿåò ñîâìåñòèìîñòü òèïîâ è èñïîëüçîâàòü åå ñëåäóåò ñ
îñîáîé îñòîðîæíîñòüþ.
2. hîáúåêòi as hòèïi
 ñëó÷àå íåñîâìåñòèìîñòè âûçûâàåò èñêëþ÷åíèå
Äëÿ ïðîâåðêè íà ïðèíàäëåæíîñòü òèïó èñïîëüçóåòñÿ îïåðàöèÿ is.

13 Ïîëèìîðôèçì.

Âîçìîæíîñòü îáúåêòîâ ðîäñòâåííûõ èëè îäíîãî êëàññà ðåàãèðîâàòü íà ñõîæèå


âîçäåéñòâèÿ ïî-ðàçíîìó.
Ïîä âîçäåéñòâèåì áóäåì ïîíèìàòü âûçîâ ìåòîäîâ ñ îäèíàêîâûìè èìåíàìè.
Òèïû ìåòîäîâ object pascal:
1. Ñòàòè÷åñêèé ìåòîä
2. Äèíàìè÷åñêèé ìåòîä - dynamic
3. Âèðòóàëüíûé ìåòîä - virtual
4. Àáñòðàêòíûé ìåòîä - abstract
Ñïîñîáû ñîñóùåñòâîâàíèÿ îäíîèìåííûõ ìåòîäîâ:
1. Ïåðåêðûòèå - method hiding
2. Ïåðåîïðåäåëåíèå - overriding
3. Ïåðåãðóçêà - overloading
1 è 2 ïðåäíàçíà÷åíû äëÿ îïðåäåëåíèÿ ïàðû îäíîèìåííûõ ìåòîäîâ êëàññîâ
ðîäèòåëåé è ïîòîìêîâ, 3 - äëÿ ñóùåñòâîâàíèÿ îäíîèìåííûõ ìåòîäîâ â ðàìêàõ
îäíîãî êëàññà.
Ïåðåêðûâàòü è ïåðåãðóæàòü ìîæíî ëþáûå ìåòîäû, ïåðåîïðåäåëÿòü - òîëüêî
virtual èëè dynamic.
Ïðè ïåðåêðûòèè â êëàññå ïîòîìêå ìåòîä îïðåäåëÿåòñÿ áåç äîïîëíèòåëüíûõ
äèðåêòèâ. Ïðè ïåðåîïðåäåëåíèè ñ äèðåêòèâîé override.
Òàê æå, ïðè ïåðåîïðåäåëåíèè ìåòîäà îïèñàíèÿ ïàðàìåòðîâ è òèïà âîçâðàùàåìûõ
çíà÷åíèé íå äîëæíû èçìåíÿòüñÿ. Ïðè ïåðåêðûòèè è ïåðåãðóçêè òàêèå èçìåíåíèÿ
äîïóñòèìû.
Ìåõàíèçìû äèíàìè÷åñêèõ è âèðòóàëüíûõ ìåòîäîâ ñõîæè, èõ ðàçëè÷èÿ
íîñèò òîëüêî ðåàëèçàöèîííûé õàðàêòåð. Ïðèíöèïèàëüíîå èõ îòëè÷èå îò
ñòàòè÷åñêèõ ìåòîäîâ â òîì, êàêîé êîä áóäåò âûçâàí. Äëÿ ñòàòè÷åñêèõ ìåòîäîâ
èñïîëüçóåòñÿ ðàííåå ñâÿçûâàíèå, äëÿ äèíàìè÷åñêèõ è âèðòóàëüíûõ - ïîçäíåå.
8
14 Ðàííåå è ïîçäíåå ñâÿçûâàíèå. Ñòàòè÷åñêèå ìåòî-
äû.

Ðàííåå ñâÿçûâàíèå - ïðîöåññ ñòàòè÷åñêîé ñâÿçè ìåòîäîâ ñ îáúåêòàìè âî âðåìÿ


êîìïèëÿöèè. Ïîçäíåå ñâÿçûâàíèå - ïðîöåññ äèíàìè÷åñêîé ñâÿçè ìåòîäîâ ñ
îáúåêòàìè âî âðåìÿ âûïîëíåíèÿ.
Êðàòêàÿ õàðàêòåðèñòèêà ñòàòè÷åñêèõ ìåòîäîâ.
Âûçîâ ñòàòè÷åñêèõ ìåòîäîâ âûïîëíÿåòñÿ òàê æå, êàê è âûçîâ ïðîöåäóð è
ôóíêöèé. Îïðåäåëåíèå àäðåñîâ ñòàòè÷åñêèõ ìåòîäîâ è èõ ñâÿçü ñ îáúåêòàìè
îïðåäåëÿåòñÿ íà ñòàäèè êîìïèëÿöèè. Îíè íå ìîãóò áûòü ïåðåîïðåäåëåíû
äëÿ îïåðàöèè ïîëèìîðôèçìà. Åñëè â êëàññå-ïîòîìêå ñóùåñòâóåò òàêîé æå
ìåòîä, êàê è â êëàññå-ïðåäêå, òî îí ïåðåêðûâàåòñÿ ïîëíîñòüþ, òàê êàê íà
ýòàïå êîìïèëÿöèè íà ìåñòî àäðåñà ìåòîäà ïðåäêà áóäåò ïîñòàâëåí àäðåñ ìåòîäà
ïîòîìêà. Ïðè ýòîì ïåðåêðûâàþùèé ìåòîä ìîæåò èìåòü îòëè÷íîå îò ïðåäêà
÷èñëî è òèï ïàðàìåòðîâ. Åäèíñòâåííî ïðåèìóùåñòâî ñòàòè÷åñêèõ ìåòîäîâ -
áûñòðûé âûçîâ.

15 Êðàòêàÿ õàðàêòåðèñòèêà âèðòóàëüíûõ è äèíàìè-


÷åñêèõ ìåòîäîâ. Àáñòðàêòíûå ìåòîäû.

Îïèñàíèå âèðòóàëüíûõ ìåòîäîâ îòëè÷àåòñÿ íàëè÷èåì äèðåêòèâû virtual. Ïðè


ýòîì ïåðåîïðåäåëåíèè ìåòîäà ýòà äèðåêòèâà íå ñòàâèòñÿ.
 êëàññàõ ïîòîìêàõ ýòîò ìåòîä ìîæíî ïåðåîïðåäåëèòü. Ïðè ýòîì îáúÿâëåííûé
ìåòîä îáÿçàí èìåòü çàãîëîâîê, èäåíòè÷íûé çàãîëîâêó íàñëåäóåìîãî ìåòîäà.
Âìåñòî äèðåêòèâû virtual äîëæíà ñòîÿòü äèðåêòèâà override.
Ïîâåäåíèå äèíàìè÷åñêèõ ìåòîäîâ èäåíòè÷íî âèðòóàëüíûì.  ñèíòàêñè÷åñêîì
ñìûñëå îòëè÷èå â äèðåêòèâå dynamic.

16 Ðàçëè÷èÿ ìåæäó äèíàìè÷åñêèìè è âèðòóàëüíûìè


ìåòîäàìè.

Ðàçëè÷èÿ ìåæäó äèíàìè÷åñêèìè è âèðòóàëüíûìè ìåòîäàìè çàêëþ÷àåòñÿ â


ìåòîäàõ ïîèñêà êîíêðåòíîé ðåàëèçàöèè ìåòîäà. Êîãäà êîìïèëÿòîð âñòðå÷àåò
îáðàùåíèå ê âèðòóàëüíîìó ìåòîäó, âìåñòî ïðÿìîãî âûçîâà ïîäñòàâëÿåòñÿ
êîä, êîòîðûé îáðàùàåòñÿ ê òàáëèöå âèðòóàëüíûõ ìåòîäîâ è èçâëåêàåò îòòóäà
íóæíûé àäðåñ. Òàêàÿ òàáëèöà ñóùåñòâóåò äëÿ êàæäîãî êëàññà. Â íåé õðàíÿòñÿ
àäðåñà âñåõ âèðòóàëüíûõ ìåòîäîâ êëàññà, íåçàâèñèìî îò òîãî, íàñëåäóþòñÿ
ëè îíè îò ïðåäêà èëè îïðåäåëåíû â äàííîì êëàññå Îòñþäà ïðåèìóùåñòâà è
íåäîñòàòêè âèðòóàëüíûõ ìåòîäîâ: îíè áûñòðåå äèíàìè÷åñêèõ, íî òàáëèöû
òðåáóþò áîëüøåå êîëè÷åñòâî ïàìÿòè.
Äèíàìè÷åñêèå ìåòîäû âûçûâàþòñÿ ìåäëåííåå, íî ïîçâîëÿþò áîëåå ýêîíîìíî
ðàñõîäîâàòü ïàìÿòü. Òàáëèöà äèíàìè÷åñêèõ ìåòîäîâ õðàíèò ññûëêè íà òîëüêî
òå ìåòîäû, êîòîðûå îïèñàíû â äàííîì êëàññå.

9
Ïðè âûçîâå äèíàìè÷åñêîãî ìåòîäà ïðîèñõîäèò ïîèñê â ýòîé òàáëèöå. Â
òîì ñëó÷àå, åñëè òðåáóåìûé ìåòîä íå íàéäåí, ïðîèñõîäèò ïðîñìîòðè òàáëèö
âñåõ êëàññîâ-ïðåäêîâ â ïîðÿäêå èåðàðõèè, äî òåõ ïîð, ïîêà òðåáóåìûé ìåòîä
íå áóäåò íàéäåí.
Âèðòóàëüíûå ìåòîäû, êîòîðûå îïðåäåëåíû â êëàññå, íî íèêîãäà íå âûçûâàþòñÿ
îáúåêòàìè äàííîãî êëàññà è äîëæíû ïåðåîïðåäåëÿòüñÿ â êëàññå ïîòîìêå -
àáñòðàêòíûå ìåòîäû.
Îáúÿâëÿþòñÿ ñ ïîìîùüþ äèðåêòèâû abstract, à ïîòîì dynamic èëè virtual.
Îñíîâíîå ïðåäíàçíà÷åíèå: áûòü ðîäîíà÷àëüíèêîì èåðàðõèè êîíêðåòíûõ
ìåòîäîâ êëàññà-íà÷àëüíèêà.

17 Êëþ÷åâîå ñëîâî inherited


èñïîëüçóåòñÿ äëÿ òîãî, ÷òîáû óêàçàòü êîìïèëÿòîðó, ÷òî ïîèñê ýëåìåíòà íåîáõîäèìî
íà÷èíàòü íå ñ ñàìîãî êëàññà, à ñ åãî íåïîñðåäñòâåííîãî ïðåäêà è äàëåå ââåðõ
ïî èåðàðõè÷åñêîé ëåñòíèöå. Èñïîëüçóåòñÿ ïðè ïåðåêðûòèè è ïåðåîïðåäåëåíèè
ìåòîäà. Äàííûé ìåõàíèçì ïîçâîëÿåò èñïîëüçîâàòü îñîáåííîå ïîâåäåíèå, îïèñàííîå
â êëàññå-ïðåäêå, äîïîëíåííîå â êëàññå-ïîòîìêå.
Äëÿ ïðèìåíåíèÿ ìåòîäîâ ïåðåãðóçêè íåîáõîäèìî èñïîëüçîâàòü äèðåêòèâó
overload.

18 Ðàñøèðÿåìîñòü êîäà.

Ñî÷åòàíèå íàñëåäóåìîñòè è ïîëèìîðôèçìà äàåò ðàçðàáîò÷èêàì íà ÎÎÏ âîçìîæíîñòü


ðàñøèðèòü ýòó ïðîãðàììó íå èìåÿ åå èñõîäíûõ òåêñòîâ.
Ýòî ìîæíî äåëàòü ïîòîìó, ÷òî íàñëåäîâàíèå äåéñòâóåò è ïîñëå êîìïèëÿöèè
èñõîäíîãî êîäà.
Åñëè ïðîãðàììà ðàñøèðèòü íåêèì êëàññîì, êîòîðûé íàñëåäóåò âñå ñâîéñòâà
ïðåäêà è ââîäèò íîâûå, òî ïðåäîê ìîæåò áûòü óæå ñêîìïèëèðîâàí.

19 Îáðàáîòêà èñêëþ÷èòåëüíûõ ñèòóàöèé.

Âîçíèêíîâåíèå íåñòàíäàðòíûõ è íåæåëàòåëüíûõ ñèòóàöèÿ âî âðåìÿ ðàáîòû


ïðîãðàììû ïðåïÿòñòâóåò åå íîðìàëüíîìó ôóíêöèîíèðîâàíèþ.
Èñêëþ÷åíèå (îáúåêò-èñêëþ÷åíèå) - îáúåêò, ñîçäàííûé âî âðåìÿ ðàçëè÷íîé
èñêëþ÷èòåëüíîé ñèòóàöèè è õðàíÿùèé åå.
Îáðàáîòêà èñêëþ÷åíèé - ñïîñîá îòêàçîóñòîé÷èâîñòè ïðîãðàìì, êîòîðûé
ëîâèò âñå âîçìîæíûå èñêëþ÷åíèÿ è îáðàáàòûâàåò èõ.
Ýëåìåíòû object pascal, îáåñïå÷èâàþùèå îáðàáîòêó èñêëþ÷åíèé.

10
Êëàññ Exception è åãî íàñëåäíèêè.Ýòî ïðÿìîé íàñëåäíèê TObject. Îïèñûâàåò íàèáîëåå îáùèå õàðàê
è ñïîñîáû ñîçäàíèÿ èñêëþ÷åíèé. Âñå îñòàëüíûå èñêëþ÷åíèÿ
íàñëåäíèêàìè ýòîãî êëàññà.
EConvertError
EIntOverflow
ERangeError
EDivByZero
EMathError - happens with floats
Exception
EMyException = class (Exception)

20 Áëîê try-except
ïðåäíàçíà÷åí äëÿ îñóùåñòâëåíèÿ ñïåöèàëüíîé ðåàêöèè â ñîîòâåòñòâèè ñ òèïîì
âîçíèêøåãî èñêëþ÷åíèÿ.
try
//çàùèùàåìûé áëîê
except
//îáðàáîòêà èñêëþ÷åíèé
end;
 çàùèùàåìîì áëîêå ïðèñóòñòâóþò ëþáûå îïåðàòîðû object pascal. Îíè
áóäóò âûïîëíÿòüñÿ ïîñëåäîâàòåëüíî.
Åñëè ïðè âûïîëíåíèè âîçíèêàåò èñêëþ÷èòåëüíàÿ ñèòóàöèÿ óïðàâëåíèå
ïåðåäàåòñÿ ñëåäóþùåìó áëîêó.
 íåì ìîæåò áûòü ïîñëåäîâàòåëüíîñòü îáû÷íûõ îïåðàòîðîâ. Îíè áóäóò
âûïîëíåíû, åñëè â çàùèùàåìîì áëîêå âîçíèêíåò èñêëþ÷åíèå. Ïîñëå âûïîëíåíèÿ
ýòèõ îïåðàòîðîâ èñêëþ÷åíèå ñ÷èòàåòñÿ îáðàáîòàííûì è ðàáîòà ïðîäîëæèòñÿ
ñî ñëåäóþùåãî îïåðàòîðà ïîñëå ñëîâà end;
Îïåðàòîðû âûáîðà èñêëþ÷åíèé îáåñïå÷èâàþò èçáèðàòåëüíóþ îáðàáîòêó
èñêëþ÷åíèé.
 òàêîì ñëó÷àå áëîê except ñîñòîèò èç ïðîèçâîëüíîãî êîëè÷åñòâà ïðåäëîæåíèå
âèäà:
on [hèìÿîáúåêòàèñêëþ÷åíèÿi] do îïåðàòîð
 ñëó÷àå âîçíèêíîâåíèÿ èñêëþ÷èòåëüíûõ ñèòóàöèé â ñîîòâåòñòâèè ñ òèïîì
èñêëþ÷åíèÿ áóäåò ïåðåäàíî óïðàâëåíèå.
helsei îïåðàòîð

21 try-finally
try-finally èñïîëüçóåòñÿ äëÿ âûïîëíåíèÿ îáÿçàòåëüíûõ äåéñòâèé ïî îñâîáîæäåíèþ
ðåñóðñîâ â çàùèùàåìîì áëîêå.
Ïîñëå âûïîëíåíèÿ áëîêà finally èñêëþ÷åíèå, åñëè òàêîå âîçíèêëî, íå ñ÷èòàåòñÿ
îáðàáîòàííûì è ïåðåíîñèòñÿ â âûøå ñòîÿùèé áëîê îáðàáîòêè èñêëþ÷åíèé.

11
Åñëè æå èñêëþ÷åíèå íå âîçíèêëî, òî âûïîëíåíèå ïðîäîëæàåòñÿ ñî ñëåäóþùåãî
îïåðàòîðà ïîñëå end;
Áëîêè try-except è try-finally ìîãóò èìåòü ïðîèçâîëüíóþ ãëóáèíó è ïðîèçâîëüíîå
÷åðåäîâàíèå.
Åñëè ïðè âûïîëíåíèè êîíñòðóêòîðà íåêîòîðîãî îáúåêòà âîçíèêàåò èñêëþ÷åíèå
è îíî ïåðåõîäèò ãðàíèöó êîíñòðóêòîðà, òî àâòîìàòè÷åñêè âûçûâàåòñÿ äåñòðóêòîð
äëÿ ýòîãî îáúåêòà ó íåäîêîíñòðóèðîâàííîãî îáúåêòà.

22 Ñ ïîìîùüþ îïåðàòîðà Raise ìîæíî ïðîèçâåñòè:


1. Ñãåíåðèðîâàòü îáúåêò-èñêëþ÷åíèå â òåêñòå ïðîãðàììû
2. Ðåãåíåðèðîâàòü èñêëþ÷åíèå

Åñëè â áëîêå îáðàáîòêè èñêëþ÷åíèé áûëà íà÷àòà îáðàáîòêà, â ïðîöåññå êîòîðîé


óñòàíàâëèâàåòñÿ, ÷òî îáðàáîòêà íå ìîæåò áûòü çàâåðøåíà, òî îïåðàòîð raise
ìîæíî èñïîëüçîâàòü äëÿ ïîâòîðíîé ãåíåðàöèè èñêëþ÷åíèÿ ñ çàíåñåíèåì åãî
â âåðõíèé áëîê îáðàáîòêè.

12

Вам также может понравиться