Главная страница
Контакты

    Басты бет


Delphi ортасында тестілеу бағдарламасын құру жобасы

жүктеу 0.57 Mb.



жүктеу 0.57 Mb.
бет1/5
Дата18.04.2018
өлшемі0.57 Mb.

Delphi ортасында тестілеу бағдарламасын құру жобасы


  1   2   3   4   5

Delphi ортасында тестілеу бағдарламасын құру жобасы

Кіріспе.............................................................................................


Тест бағдарламасын құру кезеңдері....................................................

Тестілеу процесінің кезеңдері..............................................................

Delphi ортасымен танысу......................................................................

Delphi бағдарламасының құрылымы...................................................

Delphi бағдарламалау тілінің негізгі түсініктері................................

Кластың құрушылары...........................................................................

Delphi ортасының меню жолы.............................................................

Delphi ортасының компоненттер тақтасы...........................................

Бағдарламаның құрылымдық сипаттамасы........................................

Объектілер тармағының терезесі.........................................................

Программалар коды терезесі................................................................

Тест бағдарламаның блок-схема алгоритмін өңдеу........................

Тестілеу жүйесін құру..........................................................................

Тестілеу бағдарламасының орындалуы..............................................

Жобаның техника-экономикалық негіздемесі....................................

Жұмыстың қысқаша сипаттамасы және оның тағайындалуы.........................................................................................

Бағдарламаның өнімді құрудағы шығындарды анықтау..................

Қорытынды..........................................................................................


Қолданылған әдебиеттер...................................................................

Қосымшалар…………………………………………………………...

Қазіргі кезде дербес компьютерлерді пайдаланушылар арасында Windows операциялық жүйелері жанұясы танымал және бағдарлама жасауға қызыққандар, осы жүйеде жұмыс жасайтын бағдарламалар жазуға ынталанады. Есептеуіш техниканың дамуы, бағдарламаны қамтамасыз жасау құралдарына деген эффективті қажеттілік, бағдарламалау тілдерінің пайда болуына әкелді, олардың ішінде келесілерді Borland Delphi және Microsoft Visual Basic көрсетуге болады. Тез жасау жүйесінің негізіне көрнекі жобалау технологиясы және оқиғалы бағдарламалау жатады. Оның мәні жасау ортасы бағдарламаның генерация кодының үлкен бөлігін алады және бағдарламалаушыға диалогтық терезелермен және жағдайларды өңдеу функциясын құрастыру жұмыстарын қалдырады.

Borland Delphi қазіргі уақытта бағдарламаудың ең танымал тілдерінің бірі болып саналады. Borland Delphi Windows –қа кәсіби деңгейлі интерфейсі бар қолданбалы бағдарлама жасауға мүмкіндік береді. Бұл дипломдық жобада қолданушының қосымша модульдік жобасын шешуде Windows ортасының мүмкіндіктері қарастырылған.

Осы жобада программаларды тестілеу және жөңдеу бағдарламасын Borland Delphi бағдарламалау ортасының мүмкіндіктері арқылы жүзеге асады.

Жобаның мақсаты - Borland Delphi интерактивті жобалау ортасында мектепте программаны тестілеу бағдарламасын құру болып табылады. Тест оқушы білімінің деңгейін ғана анықтап қана қоймайды, оның ойын жүйелеп, жылдам есептеуіне, логикалық ойлау, есептеу дағдыларының қалыптасуына, тез шешім қабылдау қасиетінің дамуына тиімді әсер етеді. Тест оқушының білім дәрежесін қандай екендігін анықтайтын және ол білімді түрлі жағдайларда қолдана білуін тексеруге мүмкіндік беретін тиімді жол.

Жобаның міндеттері:



  • Тапсырманың тұжырымдамасы мен жауаптары әрі қысқа, әрі анық болуы қажет;

  • Бір сұрақтың 3-5 түрлі жауабы болуы тиіс. Олардың ішінде біреуі ғана дұрыс болады, басқалары жауабына жақын бірақ дұрыс болмауы шарт;

  • Сұрақтарға жауап беру уақыты қатаң сақталуы тиіс;

  • Нұсқалар сұралушыларға бірдей дәрежеде түсіндіріледі, әдетте ол жазба не электрондық құжат түрінде болады;

  • Бірде-бір сыналушыға басқалармен салыстырғанда ешқандай артықшылық берілмейді;

  • Тестен сынаудың нәтижелерін бағалау алдын-ала жасалған жүйе арқылы барлығына бірдей қолданылады;

  • Тестке берілген нұсқау және әрбір тұжырымдаманың мағынасы сыналушылардың әрқайсысына түсінікті болуы керек;

  • Әрбір сұрақ жауабына берілетін ұпай бірдей (көбіне 1 ұпай) болуы керек;

  • Тест қолданудың жоспарланған жүйесі болуы керек.

І – деңгей (міндетті деңгей) «3» қанағаттанарлық бағасы қойылады;

ІІ – деңгей (міндетті деңгейден жоғары) «4» жақсы бағасы қойылады;

ІІІ – деңгей (эвристикалық деңгей) «5» өте жақсы бағасы қойылады.

Жоба төрт - бөлімнен тұрады: Бірінші бөлімде - тест бағдарламасы, яғни, тест бағдарламасын құру кезеңдері; тестілеу процесінің кезеңдері; Delphi ортасымен танысу туралы жалпы түсінік беріледі. Екінші бөлімде - мектепке (мысалға, информатика пәнінен) арналған тестілеу программасы келтіріледі, яғни, шығару жолдары көрсетіледі. Үшінші бөлімде - жобаның техникалық-экономикалық көрсеткіші келтірілсе, ал төртінші бөлімде - еңбекті қорғау заңдары, компьютермен жұмыс кезіндегі қауіпсіздік техникасы қарастыралады.



  1. Тест бағдарламасы туралы жалпы түсінік

Тестілеу (test, ағылшын сөзі «сынау» деген мағына береді) дегеніміз программаның немесе оның жеке бөліктерінің дұрыс жұмыс істейтіндігін сынау, тексеру.

Жөндеу және тестілеу бұлар бірінен бірі айқын ажыратылған және біріне- бірі ұқсамайтын екі кезең:


  • жөндеу кезінде синтаксистік қателіктердің және кодтаудың айқын қателіктерін төңіректеу және жою орындалады.

  • тестілеу процесі кезінде айқын қателіктері жоқ программаның жұмыс істеу қабілеттілігі тексеріледі.

Тестілеу қателіктің бар екендігін тағайындайды, ал жөндеу программаның дұрыс жұмыс істемеу себептерін анықтайды.

Қазіргі заманғы программалау жөндеу жұмысы жөндеуші деп аталатын арнай программалық құралды пайдалану жолымен жүзеге асырылады. Бұл құралдар программаның ішкі жұмысын зерттеуге мүмкіндік береді.

Жөндеу программасы әдетте мына төмендегідей мүмкіндіктер береді:


  • әрбір командадан соң, тоқтай отырып, программаны қадамдап орындау;

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

  • программада «тексеру нұктелерін» орнату, яғни аралық нәтижелерді бағалау үшін программа уақытша өз жұмысын тоқтататын нүктелерді тағайындау т.б.

Программаны жөндеуде мыналарды есте сақтау маңызды;

  • жөндеу процесінің басында қарапайым тестілік деректерді пайдалану;

  • пайда болатын қиындықтарды айқын ажыратып және қатаң түрде кезегімен жою;

  • қателіктің есебі компьютерде деп есептемеу керек.

Программа қаншалықты өте мұқият жөнделсе де оның жұмысқа жарамдылығын тағайындаудың шешуші кезеңі программаның тестер жүйесінде тікелей орындалуын тексеру болып табылады.

Егер программа таңдалынып алынған тестілік деректер жүйесінен өткенде барлық жағдайда дұрыс нәтижелер беретін болса, онда программаны шартты түрде дұрыс деп есептеуге болады.

Тестілеу тәсілін жүзеге асыру үшін тестердің эталондық нәтижелері алдын-ала даярланған немесе белгілі болуы тиіс.

Эталондық нәтижелерді прогрмманың компьютерде орындалу нәтижесін алғаннан кейін емес, керісінше алғанға дейін есептеп шығарып қою керек.

Тестілік деректер қателіктердің пайда болуының барлық мүмкін болатын шарттарын тексеруді қамтамасыз ететін болуы тиіс, атап айтқанда:


  • алгоритмнің әрбір тармағының сыннан өтуі;

  • кезектегі тестіден өткізу алдыңғы өткізудегі тексерілмегендердің тексерілуі;

  • программаның жалпы жұмыс істейтіндігін тексеру үшін бірінші тестің мүмкіндігінше қарапайым болуы;

  • есептеу көлемін қысқарту үшін тестідегі арифметикалық операциялардың шегіне дейін ықшамдалуы;

  • тізбектер элементі санының, итерациялық есептеулер үшін алынған дәлдіктің, тестілік мысалдар цикліндегі интерация санының есептеулер көлемін қысқарту тұрғысынан берілуі;

  • есептеулерді азайтудың тексеру сенімділігін төмендетпеуі;

  • тестілік деректер жиынын кездейсоқ таңдау күткен нәтижелерді қолмен орындау тәсілімен анықтауда қиындықтарға алып келетіндіктен және көптеген жағдайлар тексерілмей қалатындықтан тестілеудің белгілі мақсатқа бағытталған және жүйеленген болуы;

  • тестілік деректерді күрделендіруде түсідің біртіндеп жүргізілуі.




    1. Тест бағдарламасын құру кезеңдері

Соңғы кезде тестілеу (сынақтау) маманды жұмысқа алу кезінде, мекеме қызметкерлерінің білім дәрежесін анықтауда және т.б. салаларда кеңінен қолдануда. Тестілеу жұмыстарын жүргізуде компьютерді пайдалану негізгі орын алып келеді.

Қазіргі кезде компьютерді пайдаланып, студенттер мен оқушыларды семестр, тоқсан ішінде бірнеше рет тестілеу - олардың ағымдық білімін бағалаудың негізгі әдістерінің бірі. Өзіндік жұмыстар, консультациялар ұйымдастыру және тест тапсырмаларын орындау студенттердің білім деңгейін көрсететіні сөзсіз.

Тест тапсырмаларын құру барысында мынадай әдістер бар:



  • таңдау;

  • сәйкестендіру;

  • толықтыру;

  • дұрыс тізбек құру.

Бұл әдістер ортақ қасиет - олар студенттердің есте сақтау, ойлау икемділігі, тапсырма орындаудың түрлі тәсілдерін меңгеру қабілеттілігі т.с.с. қасиеттерін танып - білуге бағытталған. Тест тапсырмалары көп деңгейлі және көп нұсқалы болып құрылуы да мүмкін.



    1. Тестілеу процесінің кезеңдері

Тестілеу процесін үш кезеңге бөлуге болады.

1.Қалыпты жағдайда тексеру. Программалардың жұмыс істеуінің нақты жағдайына тән алғашқы деректер негізінде тестілеу болжанады.

2.Экстремальды жағдайда тексеру. Бұл жерде тестілік деректер дегеніміз алғашқы деректер жиынының шекаралық мәндері. Бұл жиын программа дұрыс жұмыс істеуге тиісті алғашқы деректерден тұрады. Өте кіші немесе өте үлкен сандар және деректердің болмауы Мұндағый деректердің типтік мысалдары болып табылады.

Барлық программалар қандайда бір шектеулі алғашқы деректер жиынын өңдеуде есептеліп жасақталатындығы белгілі. Сондықтан мына төмендегі сұрақтарға жауап алу маңызды:


    1. Айнымалының теріс және нолдік мәндерін өңдеуге арналмаған программаға қандай да бір кеткен қателіктің себептерінен дәл сол мәндерді өңдеуге тура келсе не болар еді?

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

    3. Егер өңделіп жатқан сан өте кіші немесе өте үлкен болса, онда не болар еді?

Программа дұрыс емес деректерді дұрыс деректер ретінде қабылдап, дұрыс нәтижеге ұқсас, бірақ дұрыс емес нәтиже беретін жағдайлар ең жаман жағдайлар болып есептеледі.

Программа өзі дұрыс өңдей алмайтын кез келген деректерді теріске шығаратын болу тиіс.




    1. Delphi ортасымен танысу

Бағдарламалауға деген қызығушылық күн сайын өсуде. Бұл күнделікті өмірге ақпараттық технологиялардың енуімен және дамуымен байланысты. Егер де адам компьютермен жұмыс жасаса, онда ол адамда ерте ме, кеш пе ынта, кейбір кездері бағдарламаларды үйрену қажеттілігі туындайды.

Қазіргі кезде дербес компьютерлерді пайдаланушылар арасында Windows операциялық жүйелері жанұясы танымал, және бағдарлама жасауға қызыққандар, осы жүйеде жұмыс жасайтын бағдарламалар жазуға ынталанады. Есептеуіш техниканың дамуы, бағдарламаны қамтамасыз жасау құралдарына деген эффективті қажеттілік, бағдарламалау жүйесінің пайда болуына әкелді, олардың ішінде келесілерді Borland Delphi және Microsoft Visual Basic көрсетуге болады. Тез жасау жүйесінің негізіне көрнекі жобалау технологиясы және оқиғалы бағдарламалау жатады, оның мәнін жасау ортасы бағдарламаның генерация кодының үлкен бөлігін алады және бағдарламалаушыға диалогтық терезелермен және жағдайларды өңдеу функциясын құрастыру жұмыстарын қалдырады.

Delphi – бұл Windows операция жүйесіндегі жұмыстарға бағытталған бағдарламаларды жасау ортасы. Delphi-де бағдарламалар, қазіргі көрнекі жобалау технологиялары негізінде құрылады, ол өз кезегінде бағдарламалаудың объекті-бағдарлану ойына базаланады. Delphi- де бағдарламалар Object Pascal тілінде жазылады және ол Turbo Pascal тілінің ізбасары және дамытушысы болып табылады. Delphi және Object Pascal ұзақ эволюцияның қорытындысы және қазіргі кезде ол, ең жаңа компьютерлік технологиялары бар өнім болып табылады. Бөліп айтқанда, Delphi көмегімен, консольдық тіркемелерден бастап және мәліметтер қорымен Internet үшін тіркемелерін аяқтайтын, әртүрлі түрдегі бағдарламаларды құруға болады.

DELPHI тіліндегі қолданбалы программалар немесе қосымшалар IDE (Integrated Development Environment)- дамып отыратын құрылымдық ортада орындалады. IDE ортасы көптерезелік жүйе деп саналады және оның жүктелгеннен кейінгі көрінісі төмендегі түрде болуы мүмкін (1.1-сурет).

Сурет 1.1 IDE терезесі


Интерфейстің құрамына 4 терезе кіреді

1.Негізгі терезе (Projegt1.dpr);

2.Объектілер бақылаушысының терезесі (Object Inspector);

3.Форманың құрастырушының терезесі (Form1.dfm);

4.Программа кодының терезесі (Unit1.pas).

DELPHI бірқұжаттық орта, яғни бір мезгілде тек қана бір қолданбалы программамен жұмыс атқаруға болады. Программа жобасының атауы негізгі терезесінің жоғарғы қатарында көрсетіледі.

Форманың терезесінен Unit кодына жөне одан кері өту F12 пернесі арқылы орындалады.

1.5 Delphi бағдарламасының құрылымы


Delphi ортасы – программист жұмысының өте жоғары тиімділігін қамтамасыз ететін орта.

Delphi ортасын шақырғаннан кейін ортаның жұмысын басқаратын алты негізгі терезе шығады.



  1. Негізгі терезе(Delphi7);

  2. Объектілер тармағының терезесі(Form 1);

  3. Объектілер инспекторының терезесі немесе объектілер қасиеттері редакторының терезесі (Object Inspector);

  4. Броузер (көру) терезесі(Object TreeView);

  5. Программа кодының терезесі(Unit 1.pas);

Программа кодының терезесін көру үшін Ғ12 пернесін басу жеткілікті. Delphi – ді алаш шақырғаннан кейін «Delphi» терезесі барлық терезенің үстіне шығады. Осы терезенің көмегімен Inprise коорпороциясының WEB – беттеріне кіругемүмкіндік туады.

Негізгі терезе. Негізгі терезе құрылатын программаның жобаларын басқаратын негізгі қызметті атқарады. Бұл терезе экранда барлық уақытта болады және ең жоғарғы бөлігінде орналасады. Негізгі терезеде Delphi ортасының бас менюі, пиктографиялық командалық батырмалар жиынтығы, компоненттер палитрасы орналасқан.

Бас меню жобаны басқаруға арналған барлық қажетті командалардан тұрады. Бас менюдің барлық опциялары екінші деңгейде ашылатын опциялар тақырыбын қамтиды.

Бас терезенің барлық элементтері арнайы панельдерде орналасқан, оның сол жақ бөлігінде басқару батырмалары бар. Бас менюден басқа кез келген панельді терезеден алып тастауға болады.

Панельде көрінетін батырмалардың құрамын өзгерту үшін оған курсорды келтіріп, тышқанның сол жақ батырмасын басу жеткілікті. Бұдан кейін ашылған көмекші меню терезесінде барлық панельдердің аттары келтірілген және олардың статусы көрсетілген (жалаушалар). Олардың ішінен Customize – ды (настройка, баптау) таңдағаннан кейін баптау терезесі пайда болады.. енді қажет емес батырмаларды алып тастауға да болады, Commands терезесіндегі тізімнен қажетті батырмаларды таңдап, оны экранға тасып апаруға болады.

Негізгі терезеге жиі пайдаланылатын пиктограммаларды орналасырған ыңғайлы:Project\Syntax Chek – программа командаларының синтаксисін тексеру; View/Debug Windows/Watches – отклаткалық режимді бақылау терезесіне кіру жжәне т.б.;

Delphi – дегі кез келген программа жоба файлынан (файлдың заты .dpr) және бір немесе бірнеше модульдерден (заты .pas) тұрады. Әрбір осындай файлдар Object Pascal – дың программалық бірлігін сипаттайды.


1

4

2

5

3

6

Сурет 1.2 Delphi бағдарламасының құрылымы

1.6 Delphi бағдарламалау тілінің негізгі түсініктері


Кластар – бұл күрделі программаларды жеңілдету және оның сапасын арттыру үшін ойластырылған программистердің ерекше өнер табысы. Кластардың негізінде үш іргелі принцип жатыр, олар инкапсуляция, мұрагерлік және полиморфизм.

Класс – өрістер, әдістер мен қасиеттер деп аталатынүш маңызды ұғымның бірлігін береді. Осы үш маңызды ұғымды бір бүтінге біріктіру инкапсуляция деп аталады. Көпшілік жағдайда, инкапсуляция класты программаның қалған бөліктерінен оқшаулауға мүмкіндік береді, нақты бір есепті шешудің «өзіндік жеткіліктілігін» арттырады. Нәтижесінде класс қандай да бір басқарушылықты арттырады. Мысалы, Tform класы Windows – терезесін құруға қажеттілерден, Tmemo класы – толық басқарылатын мәтіндік редактор жұмысын, Ttimer класы программа жұмысын таймермен қамтамасыз ететін құралдарды қамтиды (немесе инкапсуляциялайды).

Сонымен инкапсуляция дайын программалық жабдықтаумен жұмыс істеуге арналған қуатты құрал болып табылады. Delphi жүйесінің кластар кітапханасы – бұл программа құруға арналған Borland фирмасының программистері құрған кірпіштер жиынтығы екен.

Кез келген класс басқа кластан туындайды. Ол үшін оны хабарлағанда ата- ана кластың аты көрсетіледі:


TchildClass = class (TParentClass)
Туындаған кластан автоматты түрде өзінің ата- анасының өрісі, әдісі және қасиеті шығады және олардың жаңамен толықтырылуы мүмкін. Сөйтіп, мұрагерлік принципі күрделі кластарды кезеңмен құруды және өзінің жеке кластар кітапханасын жасауға мүмкіндік береді.

Object Pascal – дың барлық кластары жалғыз ата – ана ТObject класынан туындаған. Бұл кластың өрісі және қасиеттері жоқ, бірақ өзіне кез – келген объектілердің барлық өмірлік қасиеттерін қамтитын жалпы тағайындалудың әдістерін қамтиды. Программист ТObject класы ата – ана болмаитын класс құра алмайды. Оған төмендегідей бейнелеулер тән:


TaClass = Class (ТObject )
TaClass = Class
Мұрагерлік принципі ТObject класынан оның ұрпақтарына қарай дами отырып, біртіндеп кеңейетін тармақтар кластар құруға әкеледі. әрбір ұрпақ өзінің ата – анасының мүмкіндіктерін толықтырып, оны өзінің ұрпақтарына беріп отырады.

Delphi –дегі кластар тармағы қарайтырайық. TPersistent класы өзінің Тobject ата- анасының мүмкіндіктерін кеңейтеді: ол мәліметтерді файлға сақтап , оны одан қайтадан ала алады, нәтижесінде оның барлық ұрпақтары осы мүмкіндіктерді орындай алады. TComponent класы өз кезегінде, класты құрушының ортасымен әрекеттесіп, оны өзінің ұрпақтарына бере алады.

TControl класы файлдармен және класты құрушының ортасымен жұмыс істеп қоймай, сонамен бірге экранда көрінетін бейнелерді құруға және оның қызметін орындауға қабілетті, ал оның ұрпағы TWinControl Windows терезелерін де құра алады және т.б. «3-сурет».


Сурет 1.3 Delphi –дегі кластар тармағы

Полиморфизм – бұл мағынасы ұқсас мәселелердің әр түрлі тәсілмен шешетін кластар қасиеті. Object Pascal – дың шеңберінде кластардың қасиеті оған кіретін әдістердің жиынтығымен анықталады. Класс ұрпақтарындағы қандай да бір әдістің алгоритмін өзгерте отырып, программист бұл ұрпаққа ата- анасында жоқ ерекше қасиетті бере алады. Әдісті өзгерту үшін оны сол ұрпақта жабу қажет, яғни ұрпақта бір атаулы әдісті хабарлап, оған қажетті әрекетті жүзеге асыру қажет. Нәтижесінде объект – ата – ана мен объект – ұрпақта әр түрлі алгоритмдік негізі бар, объектілерге әр түрлі қасиет беретін екі бір атаулы әдіс жұмыс істейтін болады.

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




    1. Кластың құрушылары

Өріс деп кластағы инкапсуляцияланған мәліметтерді айтады. Өріс кез келген типті болуы мүмкін, оның ішінде класта болуы мүмкін;

Мысалы:

Type


TMyClass=class

AIntField:Integer;

AstrField:String;

AObjectField:TObject;

……………………….

End;


Әрбір объект өрістер жиынтығын алады, бірақ осы кластың барлық объектілері үшін жалпы қасиеттер мен әдістер жиынтығы бар. Инкапсуляцияның іргелі принципі өріске кластың әдістері мен қасиеттерінің көмегі арқылы қатынас жасау керектігін талап етеді. Бірақ Object Pascal тілінде өріске тікелей шығуға рұқсат етіледі.

Type


TMyClass=class

FIntField:Integer;

FstrField:String;

………………….

End;

Var aObject:TMyClass;



Begin

………………..


AObject.FintField:=0;

AObject.FStrtField:=’символдар жолы’;

……………………….

End;


Класс – ұрпақ өзінің барлық аталарынан барлық өрістерді ала алады және оны өзінікімен толықтырады, бірақ алдын-ала анықтай алмайды. Сөйтіп, тармақ иерархиясында класс қаншалықты төмен орналасса, соншалықты оның объектілерінен мәліметтер ала алады.

Класта инкапсуляцияланған процедуралар мен функциялар әдістер деп аталады. Олар әдеттегі қосалқы программалар тәрізді хабарланады:

Type TMyClass=class

Function MyFunc(aPar:Integer):integer;

Procedure MyProc;

End;


Кластың әдістеріне кіру оның өрістеріне кіргендей құрама атаулардың көмегімен жүзеге асырылады.

Var


AObject:TmyClass;

Begin


……………………

AObject:MyProg;

…………………..

End;


Жоғарыда айтылғандай кластың әдістері ұрпақтарында жабылып тұруы мүмкін. Мысалы,

Type


TparentClass=Class

Procedure DOWork;

End;

TChildClass=Class (TParent Class);



Procedure DOWork;

End;
Екі класстың ұрпақтары да DOWork процедурасының атауы бойынша ұқсас әрекеттерді орындауы мүмкін. Бірақ, бұл жалпы жағдайда әртүрлі орындалады. Мұндағы әдістерді ауыстыру статикалық деп аталады, яғни копмильятормен программаны жүргізу кезеңінде әдістерді динамикалық ауыстыру жиі пайдаланылады. Мұны жүзеге асыру үшін аталық класта орналасқан әдіс динамикалық немесе виртуалды түрде хабарлануы тиіс. Осындай хабарлауды кездестіргеннен кейін компилятор екі кесте құрады. DMT (Dynamic Method Table) және VMT (Virtual Method Table) оларды сәйкес динамикалық немесе виртуалды әдістердің кіру нүктесіндегі адреске орналастырады. Әрбір ауыстырылатын әдіске оралған компилятор сәйкес кестелердің бірінен қосалқы программаға кіру нүктесінің адресін шығаруға мүмкіндік беретін кодты кояды.

  1   2   3   4   5

  • Қорытынды..........................................................................................

  • жүктеу 0.57 Mb.