首页 文章详情

刚刚,我的几个对象吵起来了···

w3cschool | 327 2021-01-18 17:46 0 0 0
UniSMS (合一短信)


面向对象编程语言,都绕不开的话题是类和对象。对象都有类型,这在源代码级别都好理解,但如何能在运行的时候也能知道类型呢?

C++ 作为静态编译型语言,对运行时类型识别RTTI的支持最弱,只能看到一个简单的名字,C++标准并没有规定RTTI信息的具体实现方式,交给各大编译器自己发挥。

Java同样作为编译型语言,实现了完整的反射机制,不仅作为信息获取,还能根据这些信息动态创建对象,修改访问属性等等。由于反射的支持,Java才有了Spring、MyBatis等各种功能强大的框架。

Python作为解释执行的脚本语言,其抽象的层次更高,类型信息更加丰富,动态创建、甚至新增、删除属性和方法都不在话下。

不过听说C++23可能会引入全新的反射特性,不知道是什么样子的呢?你怎么看?如果C++也有反射,你会用来做什么呢?


good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter