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


Мұраға алынған(inherited) конструктор



жүктеу 0,51 Mb.
бет46/105
Дата21.01.2022
өлшемі0,51 Mb.
#34296
түріЛекция
1   ...   42   43   44   45   46   47   48   49   ...   105
« аза стан тарихы, жалпы білім беру п ндері ж не а паратты ж йе

Мұраға алынған(inherited) конструктор қалай шақырылады?

Ол VMT ӛрісіне аталық-класс VMT-ң сілтемесін жазып қою керек еді ғой. Жауап мынадай:



  1. егер конструктор объект экземплярын кӛрсетумен(соның ішінде, басқа бір тәсілдің ішінде Self-ке қатысты немесе Self-ті кӛрсетпей-ақ) шақырылатын болса, онда ол объект экземплярының VMT ӛрісін инициализация жасағанда объект экземплярының адресі жазылған айнымалының қандай типте жарияланғандығын басшылыққа алады.

  2. Егер конструктор мұраға алынған сияқты шақырылатын болса(басқа бір тәсілдің ішінен inherited қызметші сӛзі не аталық-класс атауы кӛрсетіліп), онда ол VMT ӛрісінинициализация жасамайды, қарапайым инициализация тәсілі секілді жұмыс істейді(дәлірегі, ол логикалық мән қайтарады, бұл туралы кейінірек тоқталамыз).

Бірінші ережеден келіп шығатын салдар. Егер мұраға алынған және қайта анықталмаған конструктор ұрпақ экземплярына қатысты шақырылса, онда VMT ӛрісі әрекетті орындаушы-объектті білдіретін айнымалы типіне сәйкес инициализация жасалынады, яғни оған ұрпақ VMT-ң кӛрсеткіші коррект жазылатын болады.

VMT кӛрсеткішін инициализациялау кодын шақыру компилятор арқылы конструкторды шақыру кезінде қосымша ӛз-ӛзінен қойылады, яғни ол конструктор кодының бір бӛлігі боп табылмайды. Дәл осыған байланысты мұраға алынған конструктор (аталықтың экземплярына қатысты шақырылып тұрып) VMT кӛрсеткішін аталықтың экземплярында дұрыс инициализация жасайды.



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

Ішкі класста қайтаанықталу кезінде мұраға алынған конструктор конструктордың жаңа реализациясы денесінде әдетте, ең басында шақырылады.




жүктеу 0,51 Mb.

Достарыңызбен бөлісу:
1   ...   42   43   44   45   46   47   48   49   ...   105




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

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