Інтроспекція (програмування)
Матеріал з Вікіпедії — вільної енциклопедії.
В програмуванні, інтроспекція (англ. type introspection) — можливість, в деяких об'єктно-орієнтованих мовах, визначити тип і структуру об'єкта під час виконання програми. Ця можливість особливо помітна в мові Objective C, хоча й присутня в усіх мовах, що дозволяють маніпулювати типами об'єктів як об'єктами першого класу. Інтроспекція може використовуватись задля реалізації поліморфізму.
Мови, що підтримують інтроспекцію [ред.]
- Objective C
- C++ (з RTTI)
- Object Pascal (з RTTI)
- Java
- JavaScript
- Ruby
- Perl
- Python
- Oberon
- C# та інші мови на базі платформи .NET
Приклад в 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.'
| Це незавершена стаття про комп'ютери. Ви можете допомогти проекту, виправивши або дописавши її. |
