Ця стаття не містить . (липень 2013) |
Інтроспекція (англ. type introspection) в програмуванні — можливість визначити тип і структуру об'єкта під час виконання програми. Інтроспекція як механізм присутня в деяких об'єктно-орієнтованих мовах, в тому числі — в усіх мовах, що дозволяють маніпулювати типами об'єктів як об'єктами першого класу. Особливо помітна в мові Objective C.
Інтроспекція може використовуватись задля реалізації поліморфізму.
Мови, що підтримують інтроспекцію
- Objective C
- (з RTTI)
- Object Pascal (з RTTI)
- Java
- JavaScript
- Ruby
- Perl
- Python
- Oberon
- C# та інші мови на базі платформи .NET
Приклад в Python
>>> a=2 # Присвоюємо змінній a числове значення >>> type(a) # Отримуємо тип змінної a <type 'int'> # a - ціле >>> dir(a) # отримуємо список методів змінної a ['__abs__', '__add__', '__and__', '__class__', '__cmp__', '__coerce__', '__delattr__', '__div__', '__divmod__', '__doc__', '__float__', '__floordiv__', '__format__', '__getattribute__', '__getnewargs__', '__hash__', '__hex__', '__index__', '__init__', '__int__', '__invert__', '__long__', '__lshift__', '__mod__', '__mul__', '__neg__', '__new__', '__nonzero__', '__oct__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdiv__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'conjugate', 'denominator', 'imag', 'numerator', 'real'] >>> a="Hello!" # Присвоюємо a рядок >>> type(a) <type 'str'> # тип a теж відповідно змінився. >>> a.__doc__ # отримуємо рядок документації до класу. 'str(object) -> string\n\nReturn a nice string representation of the object.\nIf the argument is a string, the return value is the same object.'
Це незавершена стаття про інформаційні технології. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno lipen 2013 U Vikipediyi ye statti pro inshi znachennya cogo termina Introspekciya znachennya Introspekciya angl type introspection v programuvanni mozhlivist viznachiti tip i strukturu ob yekta pid chas vikonannya programi Introspekciya yak mehanizm prisutnya v deyakih ob yektno oriyentovanih movah v tomu chisli v usih movah sho dozvolyayut manipulyuvati tipami ob yektiv yak ob yektami pershogo klasu Osoblivo pomitna v movi Objective C Introspekciya mozhe vikoristovuvatis zadlya realizaciyi polimorfizmu Movi sho pidtrimuyut introspekciyuObjective C C z RTTI Object Pascal z RTTI Java JavaScript Ruby Perl Python Oberon C ta inshi movi na bazi platformi NETPriklad v Python gt gt gt a 2 Prisvoyuyemo zminnij a chislove znachennya gt gt gt type a Otrimuyemo tip zminnoyi a lt type int gt a cile gt gt gt dir a otrimuyemo spisok metodiv zminnoyi a abs add and class cmp coerce delattr div divmod doc float floordiv format getattribute getnewargs hash hex index init int invert long lshift mod mul neg new nonzero oct or pos pow radd rand rdiv rdivmod reduce reduce ex repr rfloordiv rlshift rmod rmul ror rpow rrshift rshift rsub rtruediv rxor setattr sizeof str sub subclasshook truediv trunc xor conjugate denominator imag numerator real gt gt gt a Hello Prisvoyuyemo a ryadok gt gt gt type a lt type str gt tip a tezh vidpovidno zminivsya gt gt gt a doc otrimuyemo ryadok dokumentaciyi do klasu str object gt string n n Return a nice string representation of the object n If the argument is a string the return value is the same object Ce nezavershena stattya pro informacijni tehnologiyi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi