«Қазақстан тарихы, жалпы білім беру пәндері және ақпараттық жүйелер» кафедрасы


SELF параметрі және тәсілді шақыру



бет52/105
Дата09.08.2020
өлшемі0,51 Mb.
#76246
түріЛекция
1   ...   48   49   50   51   52   53   54   55   ...   105
    Бұл бет үшін навигация:
  • MyObject

3. SELF параметрі және тәсілді шақыру


Тәсілді шақыру кезінде оған тағы бір параметр жіберіледі, бұл тәсілді шақырып отырған объект экземплярына алыс (дальний) 32-битті кӛрсеткіш.

Бұл кӛрсеткіш Self идентификаторы арқылы қолданылады.

Егер тәсіл жұмысының логикасы объекттің ӛзіне-ӛзі хабар жіберуінде болса(ӛз тәсілін Self шақырады), онда программаның оқылуын түсінкті ету үшін Self –ті айқын түрде кӛрсеткен дұрыс. Бұл параметрге шын мәнінде қажеттілік тәсіл ішінде ассемблерді пайдаланған уақытта туады. Паскалда тәсіл әрдайым алыс шақыруды қолданып шақырылады. Егер TMyObject классындағы тәсілдің атауы мынадай болса procedure Init(x,y:integer); онда шақыру былай жазылған кездегідей орындалады procedureInit(x,y:integer;var SELF:TMyObject); және

MyObject^.Init(10,20); деп шақырылған уақытта стекқа 10,20 сандары ендіріледі, бұдан соң MyObject кӛрсетіп тұрған жады орнының сегменті мен жылжуы (смещение) ендіріледі. Бұдан кейін компилятор алыс CALL командасын Init тәсіліне ену адресін кӛрсетумен бірге генерация жасайды (адрес бұл жағдайда қатаң түрде компилятор арқылы жазылады, және ешқандай таблицадан таңдап алынбайды).




Достарыңызбен бөлісу:
1   ...   48   49   50   51   52   53   54   55   ...   105




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

    Басты бет