美文网首页
反射是什么?可以举出几个应用场景么?

反射是什么?可以举出几个应用场景么?

作者: natewang | 来源:发表于2018-10-07 19:28 被阅读93次

    在计算机科学中,反射是指计算机程序在运行时(Run time)可以访问、检测和修改它本身状态或行为的一种能力。[1]用比喻来说,反射就是程序在运行的时候能够“观察”并且修改自己的行为。

    要注意术语“反射”和“内省”(type introspection)的关系。内省(或称“自省”)机制仅指程序在运行时对自身信息(称为元数据)的检测;反射机制不仅包括要能在运行时对程序自身信息进行检测,还要求程序能进一步根据这些信息改变程序状态或结构。

    (一个重点是改变,一个重点是检测)
    比如通过类名,生成类 Class * tempClass = NSClassFromString(str);
    为类增加方法等。

    https://juejin.im/post/5b6011585188251af121fe2c
    https://www.jianshu.com/p/3ed2c7bc6653
    https://zh.wikipedia.org/wiki/%E5%8F%8D%E5%B0%84_(%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6)

    相关文章

      网友评论

          本文标题:反射是什么?可以举出几个应用场景么?

          本文链接:https://www.haomeiwen.com/subject/zjtraftx.html