Інтроспекція (програмування)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

В програмуванні, інтроспекція (англ. type introspection) — можливість, в деяких об'єктно-орієнтованих мовах, визначити тип і структуру об'єкта під час виконання програми. Ця можливість особливо помітна в мові Objective C, хоча й присутня в усіх мовах, що дозволяють маніпулювати типами об'єктів як об'єктами першого класу. Інтроспекція може використовуватись задля реалізації поліморфізму.

Мови, що підтримують інтроспекцію[ред.ред. код]

Приклад в Python[ред.ред. код]

>>> a=2 # Присвоюємо a число
>>> type(a) # Дізнаємось що
<type 'int'> # a - ціле
>>> dir(a) # дивимось список методів a
['__abs__', '__add__', '__and__', '__class__', '__cmp__', '__coerce__', '__delattr__', '__div__', '__divmod__', '__doc__', '__float__', '__floordiv__', '__fo
rmat__', '__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__', '__rtrued
iv__', '__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.'


Комп'ютер Це незавершена стаття про комп'ютери.
Ви можете допомогти проекту, виправивши або дописавши її.