如题,简单易懂,本人层次不高, 谢谢大神 膜拜大神啊
映射只是一种概念,通常是用代码方式来表示一个比较复杂的意义。例如访问网站时404错误的含义是“找不到当前页”,500错误是“服务器内部错误”。那么我们会把这些错误的原因和一些固定的数字对应起来,这就是一种映射。那么体现在程序里,映射用的比较多的地方就是和数据库打交道。我们通常会期望不直接操作数据库而对数据库做出一些改变。那么我们会声明一个类去对应数据库的一张数据表。例如有一张学生表,有学号和姓名两个字段。我们可以在代码里建一个学生类,下面有学号和姓名两个属性,通过一定的技术可以把这个类和那张学生表对应起来,可以实现在操作这个类的时候,却去改变那张表的数据的效果,我们可以称这是一种映射。
反射是一种技术,很多高级语言都有这种技术。具体作用就是通过一个独立存在的对象,可以找到该对象的其他信息,例如该对象是由哪个类实例化而成的。打个比方,有一条狗和一个人,我们通过反射技术,可以得知:这条狗是“狼”科的,这个人是“灵长”类的。(生物知识丢了,可能不太恰当)。那么"狼"和"灵长"这两个词就是我们通过反射所得到的信息,往往很有用。
这两个词语不是一个层面的东西。
太赞了
映射 是mapping
反射 是reflect
没听过C#中有映射这一说.
反射,你听过B超(全名是超声探测仪)吧,它是通过把超声波发出去,然后超声波 碰到物体后再返回来,然后 仪器根据返回来的声波进行 时间段和方位的分析 然后绘制出图象的。
其实,在C#中,别人写好的一个对象,我们想知道它的信息,我们也是通过 类似探测,发射超声波反射的方式来获取它的信息(比喻的,不要当真,C#有自己获取对象信息的一套方式)的。
映射呢?你拿一个镜子,镜子 里面有你的映像,这个镜子里的映像信息和你本身的信息是一模一样的(为什么身份证要用拍照的方式,还有现在正在发展的图象,人脸识别),我们可以通过分析这个映像 来还原你自己的信息。
在C#中 表现为,将现实中的数据,映射成数据库里的数据,用实体类来映射 你采集到的数据,用XML来表示 数据的信息等等等等。
映射A-->B
反射A,可以获取A.ID,A.C()属性和方法等信息
形象啊