I тарау. Объектілі бағдарлы программалау объект ұғымы



бет4/25
Дата06.02.2022
өлшемі0,87 Mb.
#79285
түріПрограмма
1   2   3   4   5   6   7   8   9   ...   25
Байланысты:
ОБП
мультимедиа
Әдiстердi мұра ету. Жаңа алаңдарды сипатаған кезде, алаң аттарының қайталанып жазылмайтындылығын қадағалау керек. Объектiдегi жаңа алаң аты мұра арқылы алынған алаң атымен сәйкес болған жағдай программада қате туғызады. Ал әдiстер басқаша болып келедi. Объект (бағынышты объект) күрделi болған сайын, ол өзiн өрнектейтiн жаңа әдiстердi талап етiп ғана қоймай, ескi әдiстердi өзгеруiн талап етуi, оның "жүрiс-тұрысыда" күрделене түседi. Kom.Init локальды әдiс Pozicia.Init ата-ата әдiсiн жабады. Егер Kom.Init әдiсi болмаса, онда Pozicia.Init Kom түрi үшiн глобальды болып табылыды және автоматты түрде осы әдiске программа назар аударады.
Функциональды ұқсас әдiстердiң бiрдей аталынуы объектiлер жүйесiн қабылдау мен программалауды жеңiлдетедi.
Мысалы :
Type
Point= object(location)
Visible: boolean;
Procedure init(initX, initY: integer);
Procedure show;
Procedure hide;
Function isvisible: boolean;
Procedure moveto(newX,newY: integer);
End;
Бұл жерде point объектісі туынды объекті болады, ал түбірлік объект ретінде location объектісі болады. Туынды объектіде түбірлік объектінің өрістері мен әдістерінің сипаттамасы жоқ. Соңғысының ( түбірлік объектінің) аты дөңгелек жақшаның ішінде object сөзінен кейін көрсетілген. Туынды объект әдісінен түбірлік объект әдісін шақыруға болады. Туынды объект жасау үшін түбірлік объектінің алғашқы текстісінің болуын қажет етпейді. Түбірлік объект трансляциядан өткен модульдің құрамында болуы мүмкін.
Турбо Паскальда inherited деген сөз резервте болады. Ол түбірлік объект әдісін шақыруға қолданылады. Туынды объект сипаттамасында сәйкес келетін сөйлем орналасқан, мысалы:
constructor nunfield.init(x.coord, y.coord, len:integer;
lmin, lmax: longint);
begin
inherited.init(x_coord, y_coord,len);
min:=lmin;
max:=lmax;
end;
Инициализация дегеніміз массивті нөлдермен толтыру, бұл үшін fillchar процедурасы қолданылады. Біріші параметр белгіні өзіне иеленетін берілгендердің объектісін береді. Ал екінші параметр үшінші параметр арқылы берілген белгі кіргізілетін жадтағы аралас байттың саны. Бұл процедураны шақыру кезінде кіріктірілген Турбо Паскальдың self тұрақтысы қолданылады. Ол экземпляр объектісіне анық емес нұсқағыш параметрі болып табылады. Инициялизация кезінде массивтердің аты мен типі анықталынады. Массивтің құрылуы кезінде массив өлшемі шектен тыс үлкен болмауын және типтің дұрыс көрсетілуін қадағалайтын тексерулер жүргізіледі. Содан кейін массивке жадтан орын бөледі және олар нөлге айналады. Массивтермен жұмыс аяқталғаннан кейін close әдісі шақырылады.


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   25




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет