Реферат: Информатика | Динамикалық идентификация
Динамикалық идентификация типтері.
Динамикалық идентификация типтерімен біз таныс емеспіз, өйткені олар полиморфты емес тілдерде болиады. Мысалы С және Basic секілді тілдерде.
Программа орындау барысында полиморфты емес тілдерде типтер туралы ақпарат алу керек емес. Алайда С++ секілді полиморфты тілдерде, программа толығымен іске қосылмағанынша обьектінің типі компиляцияға периодына белгілі емес болады. Біз білмейтініміздей С++ ирархия класын қолданғанда және базалық кластарда виртуальды, функция мен нұсқаушылар полиморфизмін тұрғызады.
Базалық класқа нұсқаушы ретінде осы базалық класындағы обьектілердің сілтемелері .шін қолдануға болады немесе кез-келген кластар обьектілерінде әрқашан алдын-ала белгілі бола бермейді.Олардың барлығы программаның орындалу барысында, яғни динамикалық идентификация типтерін қолданған кезде.
Прогамманы жасау барысында обьект типін анықтап алу үшін , typeid операторын қолданамыз. Ол үшін программаға басына қосу қажет. Кең таралған және қолданыста жүрген typeid типінің операторы:
Typeid(object)
Бұл жердегі object обьектінің мағнасы, яғни бізге керекті обьект типін алу үшін. Бұл жерде тек қана орнықты типті ғана емес, сонымен қатар кластық та типін ала аламыз.
Typeid операторы object обьектінің типін сипаттап,type-info обьектінің типінің сілтемесіне қайтарады.
type-info класында мынандай public мүшелері анықталған.
Bool operator==(const type_info &ob);
Bool operator!=(const type_info &ob);
Bool before (const type_info &ob);
Const char *name();
Жүктелінген операторлар “==”және ”!=” типтерді салыстаруға қызмет етеді. Before функциясы true мағнасын қайтарады, егер шақырылған обьект реті параметр ретінде қолданылған обьект алдында (обьект элементімен) тұрсын. Ал name()функциясы нұсқаушыны типтің атына қайтарады.Қарапайым typeid мысалын қарастырсақ.
Мысалы
# include
# include
Using namespace std;
class MyClass {
//…
};
int main()
{
int i , j;
float f;
MyClass ob;
// обьект типін алу үшін typeid операторын қолдану .....
Динамикалық идентификация типтерімен біз таныс емеспіз, өйткені олар полиморфты емес тілдерде болиады. Мысалы С және Basic секілді тілдерде.
Программа орындау барысында полиморфты емес тілдерде типтер туралы ақпарат алу керек емес. Алайда С++ секілді полиморфты тілдерде, программа толығымен іске қосылмағанынша обьектінің типі компиляцияға периодына белгілі емес болады. Біз білмейтініміздей С++ ирархия класын қолданғанда және базалық кластарда виртуальды, функция мен нұсқаушылар полиморфизмін тұрғызады.
Базалық класқа нұсқаушы ретінде осы базалық класындағы обьектілердің сілтемелері .шін қолдануға болады немесе кез-келген кластар обьектілерінде әрқашан алдын-ала белгілі бола бермейді.Олардың барлығы программаның орындалу барысында, яғни динамикалық идентификация типтерін қолданған кезде.
Прогамманы жасау барысында обьект типін анықтап алу үшін , typeid операторын қолданамыз. Ол үшін программаға басына қосу қажет. Кең таралған және қолданыста жүрген typeid типінің операторы:
Typeid(object)
Бұл жердегі object обьектінің мағнасы, яғни бізге керекті обьект типін алу үшін. Бұл жерде тек қана орнықты типті ғана емес, сонымен қатар кластық та типін ала аламыз.
Typeid операторы object обьектінің типін сипаттап,type-info обьектінің типінің сілтемесіне қайтарады.
type-info класында мынандай public мүшелері анықталған.
Bool operator==(const type_info &ob);
Bool operator!=(const type_info &ob);
Bool before (const type_info &ob);
Const char *name();
Жүктелінген операторлар “==”және ”!=” типтерді салыстаруға қызмет етеді. Before функциясы true мағнасын қайтарады, егер шақырылған обьект реті параметр ретінде қолданылған обьект алдында (обьект элементімен) тұрсын. Ал name()функциясы нұсқаушыны типтің атына қайтарады.Қарапайым typeid мысалын қарастырсақ.
Мысалы
# include
# include
Using namespace std;
class MyClass {
//…
};
int main()
{
int i , j;
float f;
MyClass ob;
// обьект типін алу үшін typeid операторын қолдану .....
Мақала ұнаса, бөлісіңіз:
Ұқсас мақалалар:
» Реферат: Турбо Паскаль тілінің динамикалы байланысатын кітапханалары
» Реферат: Информатика | Есте сақтау құрылғыларының классификациясы Динамикалық жад контроллері
» Реферат: Сканер
» Қазақ тілі пәнінен қазақша рефераттар жинағы: Топтық сан есімнің сөзжасамы
» Реферат: Информатика | Ақпарат және информатика
» Реферат: Турбо Паскаль тілінің динамикалы байланысатын кітапханалары
» Реферат: Информатика | Есте сақтау құрылғыларының классификациясы Динамикалық жад контроллері
» Реферат: Сканер
» Қазақ тілі пәнінен қазақша рефераттар жинағы: Топтық сан есімнің сөзжасамы
» Реферат: Информатика | Ақпарат және информатика
Іздеп көріңіз: