OOP即面向对象编程的基础是类或者说是对象,我想问一下,这些类或者对象是所有操作系统预留的接口吗?这些对象在操作系统层次中的运行机理是什么?
3条回答 默认 最新
- threenewbee 2015-03-16 16:16关注
OOP的本质是提供编程语言更高的抽象层次,而将诸如类型匹配,判断方法是否可以执行,代码注入,用分支语句改变行为等等这些低层次的编码由编译器去实现,简化编程复杂度,减少错误。
OOP的实现机制有很多。比如早期的C++语言,通过将代码展开得到等价的C语言,然后用C语言编译器编译。即便现在的C++语言,也有这样的影子,比如this指针、虚拟表等等。而另外一些语言,比如Java或者C#,它们在虚拟机层面就支持面向对象,虚拟机通过JIT再转换成非面向对象的机器代码执行,而编译器的输出结果仍然保留了对象信息。还有的语言,在解释器层面实现的面向对象,比如Ruby、Python、Javascript。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1