美文网首页
JS的类与C++的类的区别

JS的类与C++的类的区别

作者: Polarpole | 来源:发表于2017-09-10 17:51 被阅读0次

    C++的代码都会编译成底层的代码后才被执行。其中对象访问成员的语句,都会在编译阶段解析为对象指针+偏移。偏移的数值是固定的,也就是说,在函数中对象访问成员的代码和行为是固定的。即使是触发动态绑定的多态情况,也是通过选择不同的虚函数从而决定对象访问成员的行为,也因为这样对象调用虚函数看上去就像使用了自己真正的类型。

    JS的代码是解释型的,其中对象是通过字典的方式访问成员。这种方式,使得JS的函数不能主导对象访问成员的行为,从而无法直接达到多态的效果。而且,使用了这种字典访问的方式,会使得继承后的同名成员会出现覆盖的现象,而不是共存。无法共存同名成员,使得父类遭到破坏,这与传统的类存在很大的差异。

    相关文章

      网友评论

          本文标题:JS的类与C++的类的区别

          本文链接:https://www.haomeiwen.com/subject/ntltsxtx.html