Задача этой книги дать краткое и четкое изложение языка С++ в соответствии со стандар том iso/iec 14882. Она предназначена для студентов, изучающих язык «с нуля»



Download 2 Mb.
bet104/232
Sana29.03.2022
Hajmi2 Mb.
#516205
TuriЗадача
1   ...   100   101   102   103   104   105   106   107   ...   232
Bog'liq
Т. А. Павловская C C . Программирование на языке высокого уровня

ПРИМЕЧАНИЕ
Ïðèìåðîì ðåaëèçaöèè ñîáûòèéíî-óïðaâëяåìîé ìîäåëè ìîæåò ñëóæèòü ëþáaя ïðîãðaììa, óïðaâëяåìaя ñ ïîìîùüþ ìåíþ. Ïîñëå çaïóñêa òaêaя ïðîãðaììa ïaññèâíî îæèäaåò äåéñò- âèé ïîëüçîâaòåëя è äîëæía óìåòü ïðaâèëüíî îòðåaãèðîâaòü ía ëþáîå èç íèõ. Cîáûòèéíaя ìîäåëü яâëяåòñя ïðîòèâîïîëîæíîñòüþ òðaäèöèîííîé (äèðåêòèâíîé), êîãäa êîä óïðaâëяåò äaííûìè: ïðîãðaììa ïîñëå ñòaðòa ïðåäëaãaåò ïîëüçîâaòåëþ âûïîëíèòü íåêîòîðûå äåéñò- âèя (ââåñòè äaííûå, âûáðaòü ðåæèì) â ñîîòâåòñòâèè ñ æåñòêî çaäaííûì aëãîðèòìîì.




1 Cîáûòèéíî-óïðaâëяåìaя ìîäåëü íå яâëяåòñя ÷añòüþ ÎÎÏ è ìîæåò áûòü ðåaëèçîâaía è áåç èñïîëüçîâaíèя îáúåêòîâ (ïðèìåð — ïðîãðaììèðîâaíèå ía яçûêå C ïîä Windows ñ èñïîëüçîâaíèåì ôóíêöèé API).

Îñíîâíûìè ñâîéñòâaìè ÎÎÏ яâëяþòñя èíêaïñóëяöèя, íañëåäîâaíèå è ïîëèìîð- ôèçì. Íèæå êðaòêî ïîяñíяåòñя èõ ñìûñë, a ïîëíîå ïðåäñòaâëåíèå î íèõ ìîæíî ïîëó÷èòü1 ïîñëå èçó÷åíèя ýòîé ÷añòè êíèãè.


Îáúåäèíåíèå äaííûõ ñ ôóíêöèяìè èõ îáðaáîòêè â ñî÷åòaíèè ñî ñêðûòèåì íå- íóæíîé äëя èñïîëüçîâaíèя ýòèõ äaííûõ èíôîðìaöèè íaçûâaåòñя èínaïñóëяöèåñ (encapsulation). Ýòa èäåя íå íîâa è ïðèìåíяëañü â ñòðóêòóðíîì è ìîäóëüíîì ïðî- ãðaììèðîâaíèè, a â ÎÎÏ ïîëó÷èëa ñâîå ëîãè÷åñêîå çaâåðøåíèå. Èíêaïñóëяöèя ïîâûøaåò ñòåïåíü aáñòðaêöèè ïðîãðaììû: äaííûå êëañña è ðåaëèçaöèя åãî ôóíê- öèé íaõîäяòñя íèæå óðîâíя aáñòðaêöèè, è äëя íaïèñaíèя ïðîãðaììû èíôîðìa- öèя î íèõ íå òðåáóåòñя. Êðîìå òîãî, èíêaïñóëяöèя ïîçâîëяåò èçìåíèòü ðåaëèça- öèþ êëañña áåç ìîäèôèêaöèè îñíîâíîé ÷añòè ïðîãðaììû, åñëè èíòåðôåéñ îñòaëñя ïðåæíèì (íaïðèìåð, ïðè íåîáõîäèìîñòè ñìåíèòü ñïîñîá õðaíåíèя äaí- íûõ ñ ìaññèâa ía ñòåê). Ïðîñòîòa ìîäèôèêaöèè, êaê óæå íåîäíîêðaòíî îòìå÷a- ëîñü, яâëяåòñя î÷åíü âaæíûì êðèòåðèåì êa÷åñòâa ïðîãðaììû.
Èíêaïñóëяöèя ïîçâîëяåò èñïîëüçîâaòü êëaññ â äðóãîì îêðóæåíèè è áûòü óâå- ðåííûì, ÷òî îí íå èñïîðòèò íå ïðèíaäëåæaùèå åìó îáëañòè ïaìяòè, a òaêæå ñîç- äaâaòü áèáëèîòåêè êëaññîâ äëя ïðèìåíåíèя âî ìíîãèõ ïðîãðaììaõ.
Íañëåäîâaíèå — ýòî âîçìîæíîñòü ñîçäaíèя èåðaðõèè êëaññîâ, êîãäa ïîòîìêè ía- ñëåäóþò âñå ñâîéñòâa ñâîèõ ïðåäêîâ, ìîãóò èõ èçìåíяòü è äîáaâëяòü íîâûå. Câîéñòâa ïðè íañëåäîâaíèè ïîâòîðíî íå îïèñûâaþòñя, ÷òî ñîêðaùaåò îáúåì ïðî- ãðaììû. Âûäåëåíèå îáùèõ ÷åðò ðaçëè÷íûõ êëaññîâ â îäèí êëaññ-ïðåäîê яâëяåò- ñя ìîùíûì ìåõaíèçìîì aáñòðaêöèè — âåäü è ëþáaя íaóêa ía÷èíaåòñя ñ aáñòða- ãèðîâaíèя è êëaññèôèêaöèè, êîòîðûå ïîìîãaþò ñïðaâèòüñя ñî ñëîæíîñòüþ ðaññìaòðèâaåìîé ïðåäìåòíîé îáëañòè.
Èåðaðõèя êëaññîâ ïðåäñòaâëяåòñя â âèäå äðåâîâèäíîé ñòðóêòóðû, â êîòîðîé áî- ëåå îáùèå êëaññû ðañïîëaãaþòñя áëèæå ê êîðíþ, a áîëåå ñïåöèaëèçèðîâaííûå — ía âåòâяõ è ëèñòüяõ. Â C++ êaæäûé êëaññ ìîæåò èìåòü ñêîëüêî óãîäíî ïîòîìêîâ è ïðåäêîâ. Èíîãäa ïðåäêè íaçûâaþòñя íaäêëaññaìè èëè ñóïåðêëaññaìè, a ïîòîì- êè — ïîäêëaññaìè èëè ñóáêëaññaìè.
Òðåòüèì êèòîì, ía êîòîðîì ñòîèò ÎÎÏ, яâëяåòñя ïîëèìîðôèçì âîçìîxíîñòü èñïîëüçîâaòü â ðaçëè÷íûõ nëaññaõ èåðaðõèè îäíî èìя äëя îáîçía÷åíèя ñõîäíûõ ïî ñìûñëó äåññòâèñ è ãèánî âûáèðaòü òðåáóåìîå äåññòâèå âî âðåìя âûïîëíåíèя ïðî- ãðaììû.
Ïîíяòèå ïîëèìîðôèçìa èñïîëüçóåòñя â C++ âåñüìa øèðîêî. Ïðîñòûì ïðèìåðîì ïîëèìîðôèçìa ìîæåò ñëóæèòü ðaññìîòðåííaя â ïåðâîé ÷añòè êíèãè ïåðåãðóçêa ôóíêöèé, êîãäa èç íåñêîëüêèõ âaðèaíòîâ âûáèðaåòñя íaèáîëåå ïîäõîäяùaя ôóíêöèя ïî ñîîòâåòñòâèþ åå ïðîòîòèïa ïåðåäaâaåìûì ïaðaìåòðaì. Äðóãîé ïðè- ìåð — èñïîëüçîâaíèå øaáëîíîâ ôóíêöèé (â äaëüíåéøåì ìû ðaññìîòðèì è øaá- ëîíû êëaññîâ), êîãäa îäèí è òîò æå êîä âèäîèçìåíяåòñя â ñîîòâåòñòâèè ñ òèïîì, ïåðåäaííûì â êa÷åñòâå ïaðaìåòða. ×aùå âñåãî ïîíяòèå ïîëèìîðôèçìa ñâяçûâa- þò ñ ìåõaíèçìîì âèðòóaëüíûõ ìåòîäîâ (îí áóäåò ðaññìîòðåí ía ñ. 205).


1 À ìîæíî è íå ïîëó÷èòü.

Áëaãîäaðя òîìó, ÷òî ïðîãðaììa ïðåäñòaâëяåòñя â òåðìèíaõ ïîâåäåíèя îáúåêòîâ, ïðè ïðîãðaììèðîâaíèè èñïîëüçóþòñя ïîíяòèя, áîëåå áëèçêèå ê ïðåäìåòíîé îá- ëañòè, ñëåäîâaòåëüíî, ïðîãðaììa ëåã÷å ÷èòaåòñя è ïîíèìaåòñя. Ýòî яâëяåòñя áîëüøèì ïðåèìóùåñòâîì ÎÎÏ. Îäíaêî ïðîåêòèðîâaíèå îáúåêòíî-îðèåíòèðî- âaííîé ïðîãðaììû ïðåäñòaâëяåò ñîáîé âåñüìa ñëîæíóþ çaäa÷ó, ïîñêîëüêó â ïðî- öåññ äîáaâëяåòñя åùå îäèí âaæíûé ýòaï — ðaçðaáîòna èåðaðõèè nëaññîâ.


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



1  ïðîãðaììaõ, ïðèâåäåííûõ â ýòîé êíèãå, óæå íåçaìåòíûì îáðaçîì ïðèìåíяëèñü êëaññû ñòaíäaðòíîé áèáëèîòåêè Cin è COut. Èñïîëüçîâaíèå äðóãèõ êëaññîâ ìîæåò ía ïåðâûé âçãëяä ïîêaçaòüñя íå ñòîëü ïðîñòûì, íî ýôôåêò îïðaâäaåò çaòða÷åííûå ía èçó÷åíèå óñè- ëèя.

Download 2 Mb.

Do'stlaringiz bilan baham:
1   ...   100   101   102   103   104   105   106   107   ...   232




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish