一句话理解反射
反射其实很简单,就是一句话的事情,看了网上的各种文章,都是讲了各种使用方法,基本都没提及为啥要有反馈?仅仅做到了知其然,不知其所以然。
我们都知道整个软件工程其实就是0和1.
数据的存储其实是存储的0和1,计算的过程中就是0和1的各种运算。随之衍生的是存储用的数据结构,运算使用的算法。
一个语言是否支持反射需要看这个语言是否有一个父类(如java的object,go的interface)。这门语言的数据结构里面存储了类型信息和数据,也就是他自己约定好的格式。
举个例子 ipv4 数据包
也就是说,当一个数据过来的时候,你就知道他是v4还是v6,知道他的长度,知道他的协议,这些都是约定好的数据。同理各语言支持的反射也是如此,当一个数据过来,他自己本身已经自带解释了,他是什么类,他有啥方法,有啥数据,只要程序读出来就好了。
以上,反射就是如此简单。
Read other posts