|
1
19
反射只是一个物体告诉你它自己的能力,它的方法,实例变量,类型等,使用它命名的隐喻,它就像在镜子里看着自己。这样你就可以向别人描述你自己了。同理,反射是对象(甚至程序)描述自身的能力。 |
|
|
2
3
“在大多数编程中,数据和操作是两个独立的事物(操作处理数据)。有了反射,操作就变成了数据,允许程序了解甚至修改自己。” 尽管这可能太简单了? 编辑:另外,如果您想要一个类比,名称反射提供了一个很好的类比。反射就像程序可以在镜子中看到自己。因此,它可以在只知道方法名称为字符串的情况下调用方法,并以字符串等形式获取方法名称列表。 |
|
|
3
3
我不会的。反射是一个编程概念,它只与程序员有关。如果你不是一个程序员,你不需要,也不想,比我需要知道建造核反应堆的技术实现细节更多的了解它。 因为他对学习编程很感兴趣 无论如何 我看不出问题所在。帮助他学习编程,迟早他会有必要的词汇来讨论思考,然后你可以告诉他如果他需要什么。 |
|
|
4
1
想象一个班级是一辆汽车。它具有如下特性:
它还有一些方法:
想象一下,你买了一辆新车(最新的和最好的),你对它一无所知。没人告诉过你这件事。所以你转向 反射 . 技工。他会看看引擎盖下面,告诉你它有什么发动机。您还可以使用其他哪些属性和方法来调用… 最终你可以开这辆新车,因为你知道它有什么特性/方法。 |
|
|
5
1
在解释反射之前,最好解释静态类型语言和动态类型之间的区别。然而,向非程序员解释像反射这样的东西的必要性将是一个挑战。如果他们问的问题足够多,你就不可避免地要解释使用反射的缺点… |
|
|
6
0
如果你的朋友知道类似于python的动态语言,那么解释反射是如何实现的可能会有所帮助;也就是说,对象只是字典,反射允许你以字典的形式查看对象,而不是像通常对待对象那样。 |
|
|
7
0
镜像类比是不完美的,因为它意味着反射是一个物体对自身所做的事情。任何对象或函数都可以反射到另一个对象上。此外,在某些实现中,有单独的类或函数用于反射;您不会调用Abject的方法或访问属性来反射它。 一个相互竞争的类比是意识。有意识的实体可以检查现实世界中的一个对象并描述它的属性,这就是程序反射的全部内容。这个类比的问题在于,意识意味着对实体的认知意识,而反思则不是。只要你包括这个警告,它就不会误导你。 与其说是(误导性的)类比,不如说是一些说明性的用法?反射是实现调试器的核心任务之一的一种简单方法:检查存储在变量中的对象。通过反射,存储和检索外部数据存储中的对象变得更容易,因为您不必为每个类编写序列化程序。通用序列化程序可以使用反射来检查对象的属性,并使用反射来创建数据库架构。 |
|
|
JBryanB · 如何从基本抽象类访问类属性 2 年前 |
|
|
Gabe Tucker · 无法在golang中分配接口对象指针 3 年前 |
|
|
jkone27 · F#-在编译时从字符串生成简单的空类型 8 年前 |
|
|
John Bustos · C#通用工厂模式,不说明通用工厂模式的类型 8 年前 |
|
|
Randall Flagg · 访问propertyinfo中的属性 8 年前 |
|
|
Kacper · 在反映的全名和成员c后的“*”中,“+”是什么意思# 8 年前 |
|
|
tobeypeters · 反射铸造 8 年前 |
|
|
myst02 · 如何在另一个方法之后调用该方法? 8 年前 |