node.js原型继承

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

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

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

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

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

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

m.cont()

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

console.log(m.base);

会得到undefined的结果,但是

console.log(m.range);

m.showname();

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

猜你喜欢

转载自my.oschina.net/u/2398693/blog/1808120
今日推荐