在PHP/Java中可以做到:
class Sub extends Base
{
}
Run Code Online (Sandbox Code Playgroud)
并且Super类的所有公共/受保护方法,属性,字段等自动成为Sub类的一部分,必要时可以覆盖它.
Javascript中的等价物是什么?
我知道如何在javascript中继承,但我只能继承一个对象.例如.
function fun1() {
this.var1=10;
this.meth1=function() {
...
...
};
}
function fun2() {
this.var2=20;
this.meth2=function() {
...
...
};
}
function fun3() {
this.var3=30;
this.meth3=function() {
...
...
};
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我想要一个fun3对象继承fun1对象我可以做到这一点
fun3.prototype=new fun1();
Run Code Online (Sandbox Code Playgroud)
或者继承fun2对象我可以做到这一点
fun3.prototype=new fun2();
Run Code Online (Sandbox Code Playgroud)
但我怎么能继承fun1和fun2?
NodeJS 文档指出:
“请求对象是 IncomingMessage 的一个实例。传入处理程序的请求对象实现了 ReadableStream 接口”
“到目前为止,我们根本没有触及响应对象,它是 ServerResponse 的一个实例,它是一个 WritableStream。”
JS 有原型继承,所以当文档说它是一个实例时,它意味着它添加到原型链中,但它如何在 JS 中实现接口?
以及这一切是如何联系起来的以及它是如何工作的。官方 NodeJS 文档没有解释。
来源 - HTTP 事务剖析
编辑 - 我的问题与 JS 中的多重继承无关。它是关于 NodeJS 模块如何实现 JS 原生不支持的接口。如果我的问题有任何错误或我的知识不足,请原谅。谢谢!
javascript inheritance instance prototypal-inheritance node.js