La réflexion est la capacité d'un programme à observer et / ou à modifier sa structure et / ou son comportement lors de l'exécution. La réflexion dépend du langage de programmation pris en charge - veuillez baliser le langage de programmation utilisé lors de l'utilisation de cette balise.

Aperçu

Reflectionest la capacité d'un programme à effectuer une introspection sur lui-même. Cela implique généralement d'observer et / ou de modifier sa structure et son comportement lors de l'exécution.

D'un point de vue théorique, la réflexion porte sur le fait que les instructions du programme sont stockées sous forme de données. La distinction entre le code de programme et les données dépend de la façon dont les informations sont interprétées et est donc, en fait, arbitraire. Par conséquent, un programme peut traiter son propre code comme des données et l'observer ou le modifier.

Il faut faire preuve de prudence lors de l'utilisation de la réflexion - la modification de l'entité d'un programme pendant l'exécution peut entraîner des bogues difficiles à détecter qui sont généralement graves.

Questions fréquentes:

Implémentations spécifiques au langage

Java:

C #:

Python:

Scala:

Voir également