javascript中的类和c++中类的区别

不像 C++ 和 Java ,Js并未真正的支持类作为语言的具体构成要素,Js是使用prototype作为模拟的类。

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

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

欢迎大家补充更多细节。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值