node.js原型继承

在实现继承之前先写一个node的对象

095728_NKQQ_2398693.png

通过上面能看到,在这个对象中定义了两个属性和一个函数,但是这里面的属性name可以看到不仅在内部函数中使用还在外部使用,但是不管在哪里使用都会得到结果undefined,当调用里面的cont()函数时系统会报cont is not a function,说明如此使用是无效的,违反规则的。

那么想在对象中定义属性和函数能被使用的话需要

100601_aazX_2398693.png

又或者可以定义对象原型的属性和函数

111022_6X3u_2398693.png

这就引出了下面的要写的重点(原型的继承):

133711_SU6v_2398693.png

如上代码里可以看到main继承于base,但是main中能够从base中继承的只有原型中定义的属性和函数,比如在下面写的

m.cont()

如果执行就会报cont is not a function的错误,同样在控制台输出

console.log(m.base);

会得到undefined的结果,但是

console.log(m.range);

m.showname();

是没有问题的。通过试验和资料得知node的对象继承是和类继承不相同的,node的继承是通过原型继承,应该说是原型复制而不是我们其它面向对象的继承。

转载于:https://my.oschina.net/u/2398693/blog/1808120

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值