Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AEP_LEKTsII.doc
Скачиваний:
90
Добавлен:
28.03.2015
Размер:
1.27 Mб
Скачать

15.3 Объекттерді құру және оларды пайдалану

Turbo-Vision қабықшасы. тәсіл программаларды жетілдіру барысында ары-қарай пайдалану үшін объектілік орталарды, объектілердің библиотекаларын құруға мүмкіндік береді. Әсіресе кең танымалдылыққа стандартты болып қалған бірыңғай стильде программалардың интерфейстерін жетілдіруге арналған объектілі қабықшалар кең танымалдылыққа ие болды. Turbo-Vision (TV)- Паскаль ортасында программалардың аяқталған интерфейстерін құруға арналған қабықша. Объектке-бағытталған TV библиотекасы қамтиды:

  • өлшемдері өзгеріп тұратын көп есе қиылысатын терезелер;

  • жайылатын мәзір;

  • мауысты сүйемелдеу;

  • түсті орнату;

  • кнопкалар, скроллинг жолақтары, шығару терезелері, тәуелді және тәуелсіз кнопкалар;

  • клавиштер мен мауыс басылуын стандартты өндеу және көптеген басқалар.

TV арқылы құрылатын, стандартты түрде өнделген интерфейстің жоғарғы жағында мәзір қатары, ал астында статус жолы бар. Статус жолында пайда болатын мәтін әдетте программаның ағымдағы қалып-күйі туралы хабарламаларды шығарып, қол жетерлік ыстық клавиштерді немесе ағымдағы моментте тұтынушыға қол жетерлік бұйрықтар үшін подсказкаларды көрсетеді.

Программа тұтынушымен әдетте бір немесе бірнеше сұхбаттасу терезелері арқылы өзара әрекеттеседі, ол терезелер мауыс немесе клавиатураның бұйрықтарына сәйкес экранның панелінде пайда болады немесе жойылады.

Turbo-Vision –дағы ең қарапайым программа келесі амалдарды орындайды:

  • экран панелін жартылай көленкелінген шаблонбен толтырады;

  • экран бетіне мәзір жолағын (жоғарыда) және статус жолын (астында) шығарады;

  • клавишалар және мауыс арқылы туындылаған оқиғаларды өндеушіні орнатады;

  • объекттің мәзірін құрып оны мәзір жолағымен байланыстырады;

  • сұхбаттасу терезесін құрады;

  • сұхбаттасу терезесін мәзір байланыстырады;

  • тұтынушының клавишалар немесе мауыс арқылы беертін амалдарын күтеді.

Кез келген программаның ең басты объектісі TApplication объекті болып табылады – ол объекттің абстрактілі типі. Ол ешнәрсе істемейді, ал программалық кодты қамтитын TApplication-дан туындылаған типтерді құру үшін пайдаланылады. Мысалы, Turbo-Vision үшін стандартты түрде HELLO, WORLD! жазуын шығаратын HELLO.PAS қарапайым программада THelloApp объекттің туындылаған типі анықталады:

PHelloApp = ^THelloApp;

THelloApp = object(TApplication)

procedure GreetingBox;

procedure HadleEvcnt(var Event: TEvent); virtual;

procedure InitMenuBar; virtual;

procedure InitStatusLine; virtual;

end;

Бұл жерде көрсетілгендей, анықталатын объекттің әр типіне нұсқағыштың типін анықтаған пайдалы, себебі, объектілерге қолданылатын жұмыстын үлкен бөлігі нұсқағыштар арқылы орындалады. Полиморфизм, негізінде, нұсқағыштар арқылы жұмыс жасайды. THelloApp оның ішіндегі төрт әдіске қарағанда көбірек нәрсені қамтиды, туындылаған объект өзінің тегіген барлық нәрсеге мұра етіп алады. THelloApp анықталуында жаңа объект оның TApplication тегінен айырмашылығы неде екендігі анықталады. Қайта анықталмайтын барлық нәрсе өзгеріссіз түрде Tapplication-дан мұра етіп алынады. THelloApp-да анықталған төрт әдіс қосымшаны аяқтайды:

  • HadleEvent кейбір оқиғалардың орын алғандығын (көрсетіп) және осы оқиғаларға басқа қолданбалы функциялары қалай жауап қайтаруы тиіс екендігін анықтайды; Tapplication-да анықталған HadleEvent әдісі кез келген программаның ішінде пайда болатын ортақ оқиғалармен жұмыс жасайды, бырақ, программа үшін ерекше болатын оқиғаларды өндеуді қамтамасыщ ету керек;

  • InitMcnuBar программаның Мәзір жолағы үшін мәзірді орнатады (TApplication мәзірлердің өздерін емес Мәзір жолағын ғана қамтиды);

  • InitStatusLine экранның төменгі жағындағы статус жолының мәнін орнатады; бұл мәтін әдетте қол жетерлік ыстық клавиштерді көрсетіп немесе тұтынушыға кейбір амалдар туралы ескерту жасап, программаның ағымдағы қалып-күйі туралы хабарламаны бейнелейді;

  • GreetingBox мәзірдің Greeting элементіне жауап беру ретінде сұхбаттасу терезесін шақырады; GreetingBox Greeting мәзірдің элементін таңдау арқылы айырылып-қосылатын оқиғаға жауап қайтару ретінде HadleEvent әдісінен шақырылады; күрделілеу программаларда бастапқы мәзірде анықталған мәзірдің әр элементіне жауап қайтару ретінде түрлі әдістерді пайдалануға болады.

Абстракциялаудың жоғарғы деңгейінде TV басты программасыынң түрі Hello-ға ұқсас және үш әдісті қамтиды:

var

HelloWorld: THelloApp;

begin

HelloWorld.Init;

HelloWorld.Run;

HelloWorld.Done;

end;

Бұл әдістердің әрқайсысын қысқаша түсіндіру керек.

Init - бұл конструкторды қажетті шақыру. Виртуалды әдістерді қамтитын барлық объекттер осы объекттің кез келген басқа әдістерін шақырудан бұрын (олардың конструкторын шақыру арқылы) құрылуы тиіс. TV-ның барлық конструкторлары Init атауға ие. Бұл ыңғайлы келісім.

HelloWorld.Init басты программаның объекттерін пайдалану үшін орнатады. Ол экранды тазалайды, маңызды айнымалылар үшін кейбір мәндерін орнатады, экран панелін толтырады және статус жолы мен мәзір жолағын шығарады. Ол көптеген басқа объекттердің конструкторларын шақырады, олардың кейбіреулері ешқасан көрінбейді, себебі олар ішінен шақырылады.

TV-да программаның бүкіл жұмысы дерлік басты Run программаның әдісінің ішінде орындалады. Run әдістің анықталынуы бұл жерде жоқ, себебі Run аналық TApplication объекттен мұра етіліп алынады.

Бұл әдіс негізінде псевдокодта көрсетілген repeat...until циклынан тұрады.

Repeat <оқиғаны алу>; <оқиғаны өндеу>; until Quit;

Бұл дәл код емес, ал Run-ды жүзеге асырудың жалпы схемасы. Маңызында TV программасы циклденіп екі есепті шешеді: оқиғаны алу (мұндағы оқиға, маңызында, «бір нәрсені орындау») және осы оқиғаны өндеуді. Оқиғалардың біреуі шығу командасының бір түріне есептеледі де цикл аяқталады.

Дестрактор Done ол программы барлық объекттерін жояды – мәзір жолағын, статус жолын және экран панелін – және қателерді өндеушісі мен TV драйверлерін жояды. Done әдісі Init конструкторы арқылы орындалған барлық амалдарды жойып, одан кейін барлық стандартты элементтерді өндейтін TAppHcation.Done-ны шақыруы тиіс. TV-ны пайдалану арқылы объектке-бағытталған программалау объекттер иерархиясын және олардың әдістерінің спецификацияларын жақсы білуді талап етеді. Паскальға арналған объектке-бағытталған TV қабықшасымен қатар C++ тілі үшін дамыған ұқсама жүйе бар. Объектке-бағытталған программалау Windows жүйесі интерфейсінің негізіне айналды. Visual Basic, Delphi сияқты қазіргі объектке-бағытталған жүйелер программалау механизмдерін жасырып, дисплей экранындағы көрнекілік жобалау құралдарын ғана пайдаланып, мүлдем кодтау командаларын қолданбай программа-қосымшалардың интерфейстерін жетілдіруге мүмкіндік береді.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]