很抱歉这个问题的递归性质,但是 chosen answer关于 SO 的问题让我质疑我对反射的理解。
我认为反射主要是查询程序运行时的内部情况。此响应中给出的示例修补了 Ruby 的内置 Integer 类。
- 这不是更像是函数重载/继承而不是运行时修改吗?
- 重新开课真的是反射(reflection)的一个例子吗?
最佳答案
反射可以用来实现后期绑定(bind)。
后期绑定(bind)可用于实现猴子修补。
猴子补丁可用于实现该答案中显示的那种编码风格。
但是还有其他方法可以实现不需要猴子修补或反射的此类功能。哎呀,一个好的宏预编译器可以让你接近。
所以,技术上是正确的,但不是(恕我直言)最好的例子。
关于oop - 猴子修补/类重新开放真的是反射的例子吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/547464/